W dniu 2019-04-04 o 09:18, Tim Northover pisze:> On Wed, 3 Apr 2019 at 19:05, Audiovisart via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> Does LLVM 8 work in macOS 10.9.5?
> It should do. The released binaries appear to have been compiled so
> they can run on that version, and Apple Clang 6.0 (from the newest
> Xcode that runs on 10.9) meets the build requirements, even for trunk
> (https://llvm.org/docs/GettingStarted.html).
>
> Are you seeing any problems?
>
> Tim.
>
>
I's keen to build LLVM, I ran:
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_CCACHE_BUILD=ON
-DCMAKE_C_COMPILER=/usr/local/Cellar/llvm/6.0.1-bin-cc/bin/clang
-DCMAKE_CXX_COMPILER=/usr/local/Cellar/llvm/6.0.1-bin-cc/bin/clang++
-DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_CREATE_XCODE_TOOLCHAIN=ON
-DLLVM_ENABLE_CXX1Y=ON -DLLVM_ENABLE_CXX1Z=ON
-DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/llvm/8.0.0-bin/ ..
I noticed seeing amidst msgs "Could NOT find Z3 (missing: Z3_LIBRARIES
Z3_INCLUDE_DIR) (Required is at least version "4.7.1")"
and after that:
make -j4
that stopped saying it didn't find "compression.h", I thought it
should
be somewhere because I've zlib installed, I looked and it wasn't
anywhere, although I webbed that MacOSX 10.13 sdk has it so I unpacked
it to Xcode so I had MacOSX10.9.sdk and MacOSX10.13.sdk in SDKs, I
erased all build files, cmake now displayed "Found SDK version 10.10"
(it puzzled me, I've 10.13), I ran make and got:
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/RNBRemote.cpp:45:10:
fatal error:
'compression.h' file not found
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/MacOSX/MachTask.mm:408:35:
error: use of undeclared identifier 'vm_kernel_page_size'
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/MacOSX/MachProcess.mm:584:12:
error: use of undeclared identifier 'LC_VERSION_MIN_TVOS'
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/MacOSX/MachProcess.mm:584:42:
error: use of undeclared identifier 'LC_VERSION_MIN_WATCHOS'
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/MacOSX/MachProcess.mm:601:10:
error: use of undeclared identifier 'LC_VERSION_MIN_TVOS'
/Users/mkl/Downloads/llvm/llvm-8.0.0.src/tools/lldb/tools/debugserver/source/MacOSX/MachProcess.mm:603:10:
error: use of undeclared identifier 'LC_VERSION_MIN_WATCHOS'
I thought I'll dl LLVM 8 bin pkg and see if it goes so instead of LLVM 5
with CLion 2018.3.4 (which is fine) I used in Settings > Build,
Execution, Deployment > Toolchains:
CMake - Bundled (Version: 3.13.2)
Make - Detected (/usr/bin/make)
C Compiler - /usr/local/Cellar/llvm/8.0.0-bin/bin/clang
C++ Compiler - /usr/local/Cellar/llvm/8.0.0-bin/bin/clang++
Debugger - Bundled LLDB (Version: 6.0.1)
basic C++ "cout" program runs fine:
====================[ Build | untitled | Debug
]==============================="/Applications/CLion
2018.3.app/Contents/bin/cmake/mac/bin/cmake"
--build
/Users/mkl/Documents/Projects/CLionProjects/untitled/cmake-build-debug
--target untitled -- -j 2
Scanning dependencies of target untitled
[ 50%] Building CXX object CMakeFiles/untitled.dir/main.cpp.o
[100%] Linking CXX executable untitled
ld: warning: ignoring unknown argument: -search_paths_first
ld: warning: ignoring unknown argument: -headerpad_max_install_names
ld: warning: -sdk_version is required when emitting min version load
command. Setting sdk version to match provided min version
[100%] Built target untitled
although for OpenGL app this shows:
====================[ Build | Gearoids | Debug
]==============================="/Applications/CLion
2018.3.app/Contents/bin/cmake/mac/bin/cmake"
--build
/Users/mkl/Documents/Projects/CLionProjects/Gearoids/cmake-build-debug
--target Gearoids -- -j 2
Scanning dependencies of target Gearoids
[ 16%] Building CXX object CMakeFiles/Gearoids.dir/main.cpp.o
[ 33%] Building CXX object CMakeFiles/Gearoids.dir/GameState.cpp.o
[ 50%] Building CXX object CMakeFiles/Gearoids.dir/GameData.cpp.o
[ 83%] Building CXX object CMakeFiles/Gearoids.dir/PBall.cpp.o
[ 83%] Building CXX object CMakeFiles/Gearoids.dir/StarShip.cpp.o
[100%] Linking CXX executable Gearoids
ld: warning: ignoring unknown argument: -search_paths_first
ld: warning: ignoring unknown argument: -headerpad_max_install_names
ld: warning: -sdk_version is required when emitting min version load
command. Setting sdk version to match provided min version
Stack dump:
0. Program arguments: /usr/local/Cellar/llvm/8.0.0-bin/bin/ld -demangle
-lto_library /usr/local/Cellar/llvm/8.0.0-bin/lib/libLTO.dylib -dynamic
-arch x86_64 -macosx_version_min 10.9.0 -o Gearoids
-L/usr/local/Cellar/glfw3/3.2.1/lib -L/usr/local/lib/fmod
-search_paths_first -headerpad_max_install_names
CMakeFiles/Gearoids.dir/main.cpp.o
CMakeFiles/Gearoids.dir/GameState.cpp.o
CMakeFiles/Gearoids.dir/GameData.cpp.o
CMakeFiles/Gearoids.dir/StarShip.cpp.o
CMakeFiles/Gearoids.dir/PBall.cpp.o -rpath
/usr/local/Cellar/glfw3/3.2.1/lib -rpath /usr/local/lib/fmod -framework
OpenGL -framework OpenGL -lglfw3 -framework Carbon -framework Cocoa
-framework ApplicationServices -lz /usr/local/lib/libfltk_images.dylib
/usr/local/lib/libfltk_forms.dylib /usr/local/lib/libfltk_gl.dylib
-framework OpenGL /usr/local/lib/libfltk.dylib -lfmod -lglfw3 -framework
Carbon -framework Cocoa -framework ApplicationServices -lz
/usr/local/lib/libfltk_images.dylib /usr/local/lib/libfltk_forms.dylib
/usr/local/lib/libfltk_gl.dylib /usr/local/lib/libfltk.dylib -lfmod
-lc++ -lSystem
/usr/local/Cellar/llvm/8.0.0-bin/lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
0 ld 0x000000010e740c85
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1 ld 0x000000010e73fd68
llvm::sys::RunSignalHandlers() + 248
2 ld 0x000000010e7412e8 SignalHandler(int) + 264
3 libsystem_platform.dylib 0x00007fff8cc005aa _sigtramp + 26
4 libsystem_platform.dylib 0x00007fff5156f6e8 _sigtramp + 3298226520
5 ld 0x000000010e977ad5
lld::mach_o::MachODylibFile::exports(llvm::StringRef, llvm::StringRef)
const + 53
6 ld 0x000000010e977b5a
lld::mach_o::MachODylibFile::exports(llvm::StringRef, llvm::StringRef)
const + 186
7 ld 0x000000010e977b5a
lld::mach_o::MachODylibFile::exports(llvm::StringRef, llvm::StringRef)
const + 186
8 ld 0x000000010e977b5a
lld::mach_o::MachODylibFile::exports(llvm::StringRef, llvm::StringRef)
const + 186
9 ld 0x000000010e977a6c
lld::mach_o::MachODylibFile::exports(llvm::StringRef) const + 28
10 ld 0x000000010e9b9f0f
std::__1::__function::__func<lld::Resolver::handleSharedLibrary(lld::File&)::$_1,
std::__1::allocator<lld::Resolver::handleSharedLibrary(lld::File&)::$_1>,
llvm::Expected<bool>
(llvm::StringRef)>::operator()(llvm::StringRef&&) + 47
11 ld 0x000000010e9b7bb2
lld::Resolver::forEachUndefines(lld::File&,
std::__1::function<llvm::Expected<bool> (llvm::StringRef)>) + 402
12 ld 0x000000010e9b7edd
lld::Resolver::handleSharedLibrary(lld::File&) + 221
13 ld 0x000000010e9b85bd
lld::Resolver::resolveUndefines() + 1149
14 ld 0x000000010e9b9af6 lld::Resolver::resolve() + 22
15 ld 0x000000010e7ba9be
lld::mach_o::link(llvm::ArrayRef<char const*>, bool,
llvm::raw_ostream&)
+ 1070
16 ld 0x000000010e69164f main + 815
17 libdyld.dylib 0x00007fff91c165fd start + 1
18 libdyld.dylib 0x000000000000003b start + 1849596479
clang-8: error: unable to execute command: Segmentation fault: 11
clang-8: error: linker command failed due to signal (use -v to see
invocation)
make[3]: *** [Gearoids] Error 254
make[2]: *** [CMakeFiles/Gearoids.dir/all] Error 2
make[1]: *** [CMakeFiles/Gearoids.dir/rule] Error 2
make: *** [Gearoids] Error 2
I've ld linked to ld.lld in LLVM 8's bin folder if that means
anything...
Mark