Closed kbeezie closed 8 years ago
What version of Clang is that? If you replace thread_local with __thread, does it help?
Ubuntu clang version 3.2-1~exp9ubuntu1 (tags/RELEASE_32/final) (based on LLVM 3.2) Target: x86_64-pc-linux-gnu Thread model: posix
Moment on thread_local
replacing both thread_local with __thread appears to have continued buil until 31% where it failed with:
[ 30%] Building CXX object src/libSystem/CMakeFiles/System.B.dylib.dir/libc/string.o [ 30%] Building CXX object src/libSystem/CMakeFiles/System.B.dylib.dir/libc/exec.o [ 31%] Building CXX object src/libSystem/CMakeFiles/System.B.dylib.dir/libc/stdio.o /home/kbeezie/darling/src/libSystem/libc/stdio.cpp:24:10: fatal error: 'bsd/wchar.h' file not found
^
1 error generated. make[2]: * [src/libSystem/CMakeFiles/System.B.dylib.dir/libc/stdio.o] Error 1 make[1]: * [src/libSystem/CMakeFiles/System.B.dylib.dir/all] Error 2 make: *\ [all] Error 2
You need to install libbsd-dev.
It's already listed as installed
i libbsd-dev - utility functions from BSD systems - development files
Darling is tested against libbsd 0.6.0. What version is yours?
$ aptitude show libbsd-dev
Package: libbsd-dev
State: installed
Automatically installed: no
Version: 0.4.2-1ubuntu1
Priority: optional
Section: libdevel
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Architecture: amd64
Uncompressed Size: 377 k
Depends: libbsd0 (= 0.4.2-1ubuntu1)
Replaces: libfreebsd-dev (< 0.0-8)
Description: utility functions from BSD systems - development files
This library provides some functions commonly available on BSD systems but not on others like GNU systems.
Though I was going by the "easy" ubuntu install listed on http://darling.dolezel.info/en/Build
And I did install libbsd-dev (version was not specified on list of requirements), this is also the latest version of ubuntu.
It is easy, but as I don't use Ubuntu, it's hard for me to find out that something breaks. This breakage, for example, is from yesterday.
Do a git pull
and try again.
I wasn't arguing easy or not was just informing you of which steps I was taking to install.
Will try a git pull and try again. If libbsd-dev 0.6+ is required do you know of an appropriate place to get it, if the repository with the latest version of ubuntu is outdated?
libbsd 0.6+ is not needed anymore. If it detects that you don't have bsd/wchar.h, it will omit one function definition, but it's not a critical function.
Still fails I've placed the output into pastebin here: http://pastebin.com/TH0jLEEy
Alright, try it again, please :-)
Sooooo close... errors at 97% (looks libAV related)
for information purposes, the version of libavcodec-dev installed is Version: 6:0.8.6-1ubuntu2
Oh dear, that version means it's libav. I've only tried it with ffmpeg. This is gonna take a while to figure out.
In the meanwhile, you can edit toplevel CMakeLists.txt and comment out the Audio* frameworks (add_subdirectory(...)
), they aren't working yet anyway.
It'll fail if I comment out AudioUnit, but If only comment out the AudioToolbox one, I'm able to build to 100%
Now I just have to test it on an app (main goal was the hope of getting something like Coda to work).
Out of curiosity, has the project gotten to the point yet to resolve something like this?
dyld: Cannot execute binary file: dyld: Library not loaded: /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
Been searching over the project status and such didn't see anything in particular, and doesn't seem like I missed installing any dependencies.
SystemConfiguration isn't implemented yet, although it looks like one of the easier frameworks.
I've updated Darling to compile with libav 9.8 (latest version) and I've added a tool called dyldd
. You can use dyldd
to list all the required frameworks, because the chances are that SystemConfiguration isn't the only missing one in your case.
Interesting, I'll rebuild later today and give it a shot. I wasn't familiar with where the project was since I wasn't even able to run calculator.app for example (which I guess relies on a speech framework).
is there a way to find out if a certain os x application would possibly work or not with your software? i'm considering buying http://www.hdpvrcapture.com/wordpress/?page_id=276 to easily capture from my HD PVR but they only provide it for OS X. I suppose I just have to compile and install darling and try it myself. :)
Darling now has Continuous Integration which checks if build works against Debian Stable. Ubuntu should work just fine as well.
Cannot complete make with darling (pulled as if 8/8/2013 9:15AM EST/GMT-5)
~/darling$ CC=clang CXX=clang++ 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 CMake Warning (dev) at src/thin/CMakeLists.txt:12 (add_library): Policy CMP0002 is not set: Logical target names must be globally unique. Run "cmake --help-policy CMP0002" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it.
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 auto without any source files. This typically indicates a problem with your CMakeLists.txt file -- Configuring done -- Generating done -- Build files have been written to: /home/kbeezie/darling
~/darling$ make [ 4%] Built target util [ 7%] Built target mach-o [ 8%] Built target motool [ 9%] Building CXX object src/dyld/CMakeFiles/dyld.dir/dl_public.o /home/kbeezie/darling/src/dyld/dl_public.cpp:15:8: error: expected unqualified-id static thread_local char g_lastError[1024]; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:16:8: error: expected unqualified-id static thread_local bool g_lastErrorRead = false; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:24:10: error: use of undeclared identifier 'g_lastError' strncpy(g_lastError, str.c_str(), sizeof(g_lastError)); ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:25:2: error: use of undeclared identifier 'g_lastError' g_lastError[sizeof(g_lastError)-1] = 0; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:25:21: error: use of undeclared identifier 'g_lastError' g_lastError[sizeof(g_lastError)-1] = 0; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:26:2: error: use of undeclared identifier 'g_lastErrorRead' g_lastErrorRead = false; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:111:6: error: use of undeclared identifier 'g_lastErrorRead' if (g_lastErrorRead || !g_lastError[0]) ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:111:26: error: use of undeclared identifier 'g_lastError' if (g_lastErrorRead || !g_lastError[0]) ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:114:2: error: use of undeclared identifier 'g_lastErrorRead' g_lastErrorRead = true; ^ /home/kbeezie/darling/src/dyld/dl_public.cpp:115:9: error: use of undeclared identifier 'g_lastError' return g_lastError; ^ 10 errors generated. make[2]: * [src/dyld/CMakeFiles/dyld.dir/dl_public.o] Error 1 make[1]: * [src/dyld/CMakeFiles/dyld.dir/all] Error 2 make: *\ [all] Error 2