When trying to build ccls on macOS Big Sur, the initial cmake step fails with
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- broken
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.13/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /Users/jiahaoli/Programming/Git/ccls/Release/CMakeFiles/CMakeTmp
Run Build Command:"/usr/local/bin/gmake" "cmTC_db05b/fast"
/usr/local/bin/gmake -f CMakeFiles/cmTC_db05b.dir/build.make CMakeFiles/cmTC_db05b.dir/build
gmake[1]: Entering directory '/Users/jiahaoli/Programming/Git/ccls/Release/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_db05b.dir/testCCompiler.c.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -mmacosx-version-min=11.2 -o CMakeFiles/cmTC_db05b.dir/testCCompiler.c.o -c /Users/jiahaoli/Programming/Git/ccls/Release/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_db05b
/Applications/CMake.app/Contents/bin/cmake -E cmake_link_script CMakeFiles/cmTC_db05b.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -mmacosx-version-min=11.2 -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_db05b.dir/testCCompiler.c.o -o cmTC_db05b
ld: library not found for -lSystem
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [CMakeFiles/cmTC_db05b.dir/build.make:87: cmTC_db05b] Error 1
gmake[1]: Leaving directory '/Users/jiahaoli/Programming/Git/ccls/Release/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:121: cmTC_db05b/fast] Error 2
Passing an extra library path to cmake seems to solve this (as in the following works):
Observed behavior
When trying to build
ccls
on macOS Big Sur, the initialcmake
step fails withPassing an extra library path to
cmake
seems to solve this (as in the following works):Not sure if this is an issue with the new macOS version. If this cannot be fixed from inside
ccls
, maybe worth a mention in the build Wiki page?Expected behavior
The initial
cmake
step works without having to pass inLDFLAGS
.Steps to reproduce
HEAD
cmake -H. -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/local/Cellar/llvm/13.0.0_2/lib/cmake
System information
git describe --tags --long
): GitHEAD
(dce86b1362acbabb8f997869fdaa27adc67f9a55)