如何在 Ubuntu 上构建 Darling 项目?

如何在 Ubuntu 上构建 Darling 项目?

亲爱的项目是 Linux 的一个开源 Darwin/OS X 模拟层。我用 git 下载了源代码并尝试用它构建,cmake但失败了。文档说我需要这些包:

clang 3.1+
GCC 4.6+ (yes, you still need GCC for header files)
libkqueue
libbsd
gnustep-base ("Foundation")
gnustep-gui ("Cocoa")
gnustep-corebase ("CoreFoundation")
libobjc2
libudev
openssl
libasound
libav
libgc

apt但我在软件中心找不到它们。还cmake显示了此结果:

No build type selected, default to Debug
This is a 64-bit build
Building ObjC ABI 2
You have called ADD_LIBRARY for library Carbon without any source files. This typically indicates a problem with your CMakeLists.txt file
You have called ADD_LIBRARY for library AppKit without any source files. This typically indicates a problem with your CMakeLists.txt file
You have called ADD_LIBRARY for library auto without any source files. This typically indicates a problem with your CMakeLists.txt file
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBGNUSTEPCOREBASE_INCLUDE_DIR
   used as include directory in directory /home/mirror/work/darling/darling/src/motool
   used as include directory in directory /home/mirror/work/darling/darling/src/util
   used as include directory in directory /home/mirror/work/darling/darling/src/libmach-o
   used as include directory in directory /home/mirror/work/darling/darling/src/libdyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/libSystem
   used as include directory in directory /home/mirror/work/darling/darling/src/libltdl
   used as include directory in directory /home/mirror/work/darling/darling/src/Cocoa
   used as include directory in directory /home/mirror/work/darling/darling/src/libobjcdarwin
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreFoundation
   used as include directory in directory /home/mirror/work/darling/darling/src/libncurses
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreSecurity
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreServices
   used as include directory in directory /home/mirror/work/darling/darling/src/ExceptionHandling
   used as include directory in directory /home/mirror/work/darling/darling/src/IOKit
   used as include directory in directory /home/mirror/work/darling/darling/src/Foundation
   used as include directory in directory /home/mirror/work/darling/darling/src/Carbon
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreVideo
   used as include directory in directory /home/mirror/work/darling/darling/src/OpenGL
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/libstdc++darwin
LIBKQUEUE_INCLUDE_DIR
   used as include directory in directory /home/mirror/work/darling/darling/src/motool
   used as include directory in directory /home/mirror/work/darling/darling/src/util
   used as include directory in directory /home/mirror/work/darling/darling/src/libmach-o
   used as include directory in directory /home/mirror/work/darling/darling/src/libdyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/libSystem
   used as include directory in directory /home/mirror/work/darling/darling/src/libltdl
   used as include directory in directory /home/mirror/work/darling/darling/src/Cocoa
   used as include directory in directory /home/mirror/work/darling/darling/src/libobjcdarwin
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreFoundation
   used as include directory in directory /home/mirror/work/darling/darling/src/libncurses
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreSecurity
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreServices
   used as include directory in directory /home/mirror/work/darling/darling/src/ExceptionHandling
   used as include directory in directory /home/mirror/work/darling/darling/src/IOKit
   used as include directory in directory /home/mirror/work/darling/darling/src/Foundation
   used as include directory in directory /home/mirror/work/darling/darling/src/Carbon
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreVideo
   used as include directory in directory /home/mirror/work/darling/darling/src/OpenGL
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/libstdc++darwin
LIBOBJC2_INCLUDE_DIR
   used as include directory in directory /home/mirror/work/darling/darling/src/motool
   used as include directory in directory /home/mirror/work/darling/darling/src/util
   used as include directory in directory /home/mirror/work/darling/darling/src/libmach-o
   used as include directory in directory /home/mirror/work/darling/darling/src/libdyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/dyld
   used as include directory in directory /home/mirror/work/darling/darling/src/libSystem
   used as include directory in directory /home/mirror/work/darling/darling/src/libltdl
   used as include directory in directory /home/mirror/work/darling/darling/src/Cocoa
   used as include directory in directory /home/mirror/work/darling/darling/src/libobjcdarwin
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreFoundation
   used as include directory in directory /home/mirror/work/darling/darling/src/libncurses
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreSecurity
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreServices
   used as include directory in directory /home/mirror/work/darling/darling/src/ExceptionHandling
   used as include directory in directory /home/mirror/work/darling/darling/src/IOKit
   used as include directory in directory /home/mirror/work/darling/darling/src/Foundation
   used as include directory in directory /home/mirror/work/darling/darling/src/Carbon
   used as include directory in directory /home/mirror/work/darling/darling/src/CoreVideo
   used as include directory in directory /home/mirror/work/darling/darling/src/OpenGL
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/thin
   used as include directory in directory /home/mirror/work/darling/darling/src/libstdc++darwin

Configuring incomplete, errors occurred!

我该如何构建 Darling 项目?

答案1

按照http://darling.dolezel.info/en/Build/Ubuntu

跳过 Multilib 部分。

我需要两个额外的包(手册中未提及):

sudo apt-get install libltdl-dev libgl1-mesa-dev 

然后回到普通构建http://darling.dolezel.info/en/Build#Ordinary_Build

答案2

你可以使用我的 PPA 安装 darling。别忘了添加 GNUstep PPA,它包含所需 GNUstep 库的多架构包,这样你就可以拥有 dyld32 和 dyld64。

https://launchpad.net/~thopiekar/+archive/ubuntu/darling

相关内容