So it seems that libatomic went missing between build #1379 and #1380, so I
don't think this is related to the -std=c++11 failure. Instead it seems
likely that the compile test for -std=c++11 is failing due to
mis-configuring -latomic.
You shouldn't need it on x86-64. The issue there is that cmake is reporting, incorrectly:
-- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB - Failed
despite that previously in the same run, the same test configuring llvm itself worked:
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
I suspect that the flags change has somehow caused *all* compiler invocations to fail, and that results in both the erroneously-failed atomic check and the erroneously-failed std=c++11 check.
Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB
– Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB - Failed
– Looking for __atomic_fetch_add_8 in atomic
– Looking for __atomic_fetch_add_8 in atomic - not found
CMake Warning at projects/libcxx/cmake/Modules/CheckLibcxxAtomic.cmake:45 (message):
Host compiler appears to require libatomic, but cannot find it.
Call Stack (most recent call first):
projects/libcxx/cmake/config-ix.cmake:47 (include)
projects/libcxx/CMakeLists.txt:370 (include)
– Performing Test LIBCXX_HAS_WX_FLAG
– Performing Test LIBCXX_HAS_WX_FLAG - Failed
– Performing Test LIBCXX_HAS_NO_WX_FLAG
– Performing Test LIBCXX_HAS_NO_WX_FLAG - Failed
– Performing Test LIBCXX_HAS_EHSC_FLAG
– Performing Test LIBCXX_HAS_EHSC_FLAG - Failed
– Performing Test LIBCXX_HAS_NO_EHS_FLAG
– Performing Test LIBCXX_HAS_NO_EHS_FLAG - Failed
– Performing Test LIBCXX_HAS_NO_EHA_FLAG
– Performing Test LIBCXX_HAS_NO_EHA_FLAG - Failed
– Performing Test LIBCXX_HAS_NO_GR_FLAG
– Performing Test LIBCXX_HAS_NO_GR_FLAG - Failed
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - not found
– Looking for ccos in m
– Looking for ccos in m - not found
– Looking for clock_gettime in rt
– Looking for clock_gettime in rt - not found
– Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG
– Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG - Failed
CMake Error at projects/libcxx/CMakeLists.txt:423 (message):
C++11 or greater is required but the compiler does not support c++11
– Configuring incomplete, errors occurred!
See also “/usr/local/google/home/aizatsky/out/llvm/fuzzer/CMakeFiles/CMakeOutput.log”.
See also “/usr/local/google/home/aizatsky/out/llvm/fuzzer/CMakeFiles/CMakeError.log”.
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=OFF 23.14s user 12.73s system 100% cpu 35.826 total
Mike, I know we’ve had a similar issue on a Linux distro that has some headers missing in the regular include path (I don’t remember the details). We’ve had to supply -DGCC_INSTALL_PREFIX= when building the stage1 compiler to get around the issue. It could be a similar problem that you’re experiencing.