ld.lld: error: undefined symbol: __atomic_is_lock_free >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/watchman.dir/watchman/ChildProcess.cpp.o:(void folly::futures::detail::waitImpl, w_string>(folly::SemiFuture&)) >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/watchman.dir/watchman/ChildProcess.cpp.o:(void folly::futures::detail::waitImpl, w_string>(folly::SemiFuture&)) >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/watchman.dir/watchman/ChildProcess.cpp.o:(folly::futures::detail::WaitExecutor::WaitExecutor()) and ld.lld: error: undefined symbol: __atomic_is_lock_free >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/cache.t.dir/watchman/test/CacheTest.cpp.o:(void folly::futures::detail::waitImpl, folly::Unit>(folly::SemiFuture&)) >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/cache.t.dir/watchman/test/CacheTest.cpp.o:(void folly::futures::detail::waitImpl, folly::Unit>(folly::SemiFuture&)) >>> referenced by atomic_base.h:436 (/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/include/g++-v11/bits/atomic_base.h:436) >>> CMakeFiles/cache.t.dir/watchman/test/CacheTest.cpp.o:(folly::futures::detail::WaitExecutor::WaitExecutor()) --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -716,6 +716,7 @@ target_link_libraries( jansson wildmatch third_party_deps + atomic ) if (WIN32) --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -747,6 +747,7 @@ function(t_test NAME) ${NAME}.t testsupport wildmatch third_party_deps ${LIBGMOCK_LIBRARIES} + atomic ) target_compile_definitions(${NAME}.t PUBLIC WATCHMAN_TEST_SRC_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}\")