libp2p / cpp-libp2p

C++17 implementation of libp2p
Apache License 2.0
346 stars 97 forks source link

got failed to do cmake configuration -- Ubuntu-20.04 and gcc-9.4 #220

Closed zhengfish closed 8 months ago

zhengfish commented 8 months ago

user@ubuntu2004s01:~/works/cpp-libp2p/cpp-libp2p $ cmake -B build_x64 -DCMAKE_INSTALL_PREFIX=install_x64 -DTESTING=OFF -DEXAMPLES=OFF -DCLANG_FORMAT=OFF -DEXPOSE_MOCKS=OFF

CMake Error at CMakeLists.txt:17 (cmake_policy): Policy "CMP0135" is not known to this version of CMake.

Binary cache uploading is DISABLED. -- The C compiler identification is GNU 9.4.0 -- The CXX compiler identification is GNU 9.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- [libp2p] C flags: -- [libp2p] CXX flags: -- [libp2p] Using CMAKE_TOOLCHAIN_FILE=/home/user/works/cpp-libp2p/cpp-libp2p/cmake/toolchain/cxx20.cmake -- [hunter] Calculating Toolchain-SHA1 -- [hunter] Calculating Config-SHA1 -- [hunter] HUNTER_ROOT: /home/user/.hunter -- [hunter] [ Hunter-ID: 4fb3b9a | Toolchain-ID: 50524fc | Config-ID: c8a28f0 ] -- [hunter] BOOST_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.83.0) -- [hunter] BOOST_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.83.0) -- [hunter] BOOST_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.83.0) -- [hunter] BOOST_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.83.0) -- Boost version: 1.83.0 -- Found the following Boost libraries: -- random -- filesystem -- program_options -- [hunter] MICROSOFT.GSL_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 2.0.0-p0) -- [hunter] OPENSSL_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.1.1t) -- Found OpenSSL: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install/lib/libssl.a;/home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install/lib/libcrypto.a;dl (found version "1.1.1t") -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- [hunter] PROTOBUF_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 3.11.2-p0) -- Found ZLIB: ZLIB::zlib
-- [hunter] C-ARES_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.14.0-p0) -- [hunter] FMT_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 10.1.1) -- [hunter] YAML-CPP_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 0.6.2-0f9a586-p1) -- [hunter] SORALOG_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 0.2.1) -- [hunter] TSL_HAT_TRIE_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.0.0) -- [hunter] BOOST.DI_ROOT: /home/user/.hunter/_Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 1.1.0) -- [hunter] SQLITEMODERNCPP_ROOT: /home/user/.hunter/Base/4fb3b9a/50524fc/c8a28f0/Install (ver.: 0.0.0) -- Performing Test FLAG-Wall -- Performing Test FLAG-Wall - Success -- Performing Test FLAG-Wextra -- Performing Test FLAG-Wextra - Success -- Performing Test FLAG-Woverloaded-virtual -- Performing Test FLAG-Woverloaded-virtual - Success -- Performing Test FLAG-Wformat=2 -- Performing Test FLAG-Wformat=2 - Success -- Performing Test FLAG-Wmisleading-indentation -- Performing Test FLAG-Wmisleading-indentation - Success -- Performing Test FLAG-Wduplicated-cond -- Performing Test FLAG-Wduplicated-cond - Success -- Performing Test FLAG-Wduplicated-branches -- Performing Test FLAG-Wduplicated-branches - Success -- Performing Test FLAG-Wnull-dereference -- Performing Test FLAG-Wnull-dereference - Success -- Performing Test FLAG-Wdouble-promotion -- Performing Test FLAG-Wdouble-promotion - Success -- Performing Test FLAG-Wsign-compare -- Performing Test FLAG-Wsign-compare - Success -- Performing Test FLAG-Wtype-limits -- Performing Test FLAG-Wtype-limits - Success -- Performing Test FLAG-Wno-unknown-warning-option -- Performing Test FLAG-Wno-unknown-warning-option - Failed -- Performing Test FLAG-Wno-unused-command-line-argument -- Performing Test FLAG-Wno-unused-command-line-argument - Failed -- Performing Test FLAG-Wno-unused-parameter -- Performing Test FLAG-Wno-unused-parameter - Success -- Performing Test FLAG-Wno-format-nonliteral -- Performing Test FLAG-Wno-format-nonliteral - Success -- Performing Test FLAG-Wno-gnu-zero-variadic-macro-arguments -- Performing Test FLAG-Wno-gnu-zero-variadic-macro-arguments - Failed -- Performing Test FLAG-Werror-unused-lambda-capture -- Performing Test FLAG-Werror-unused-lambda-capture - Failed -- Performing Test FLAG-Werror-return-type -- Performing Test FLAG-Werror-return-type - Failed -- Performing Test FLAG-Werror-non-virtual-dtor -- Performing Test FLAG-Werror-non-virtual-dtor - Failed -- Performing Test FLAG-Werror-sign-compare -- Performing Test FLAG-Werror-sign-compare - Failed -- Performing Test FLAG-Werror-reorder -- Performing Test FLAG_-Werror-reorder - Failed -- Configuring incomplete, errors occurred! See also "/home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeOutput.log". See also "/home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeError.log".

=====================================================================================================

user@ubuntu2004s01:~/works/cpp-libp2p/cpp-libp2p $ more build_x64/CMakeFiles/CMakeError.log

Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output: Change Dir: /home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_a1fe9/fast && /usr/bin/make -f CMakeFiles/cmTC_a1fe9.dir/build.make CMakeFiles/cmTC_a1fe9.dir/build make[1]: Entering directory '/home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_a1fe9.dir/src.c.o /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_a1fe9.dir/src.c.o -c /home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp/src.c Linking C executable cmTC_a1fe9 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a1fe9.dir/link.txt --verbose=1 /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_a1fe9.dir/src.c.o -o cmTC_a1fe9 /usr/bin/ld: CMakeFiles/cmTC_a1fe9.dir/src.c.o: in function main': src.c:(.text+0x46): undefined reference topthread_create' /usr/bin/ld: src.c:(.text+0x52): undefined reference to pthread_detach' /usr/bin/ld: src.c:(.text+0x63): undefined reference topthread_join' collect2: error: ld returned 1 exit status make[1]: [CMakeFiles/cmTC_a1fe9.dir/build.make:87: cmTC_a1fe9] Error 1 make[1]: Leaving directory '/home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp' make: [Makefile:121: cmTC_a1fe9/fast] Error 2

Source file was:

include

void test_func(void data) { return data; }

int main(void) { pthread_t thread; pthread_create(&thread, NULL, test_func, NULL); pthread_detach(thread); pthread_join(thread, NULL); pthread_atfork(NULL, NULL, NULL); pthread_exit(NULL);

return 0; }

Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_37ba9/fast && /usr/bin/make -f CMakeFiles/cmTC_37ba9.dir/build.make CMakeFiles/cmTC_37ba9.dir/build make[1]: Entering directory '/home/user/works/cpp-libp2p/cpp-libp2p/build_x64/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_37ba9.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_37ba9.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c Linking C executable cmTC_37ba9 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_37ba9.dir/link.txt --verbose=1

zhengfish commented 8 months ago

after upgraded cmake from 3.16 to 3.27, it was fixed.