Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake error related to pthread and stdc++ #5986

Open
guanrenyang opened this issue Aug 9, 2022 · 1 comment
Open

CMake error related to pthread and stdc++ #5986

guanrenyang opened this issue Aug 9, 2022 · 1 comment

Comments

@guanrenyang
Copy link

After executing cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ../glow, I encountered cmake errors related to pthread and stdc++.

I guess they are due to the version of clang, but I haved done all steps in readme file.

Here is the full CMakeError.md

Performing C++ SOURCE FILE Test HAS_W_NO_PSABI failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_351e9"
[1/2] Building CXX object CMakeFiles/cmTC_351e9.dir/src.cxx.o
warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
1 warning generated.
[2/2] Linking CXX executable cmTC_351e9

Source file was:
int main() { return 0; }
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_cdf35"
[1/2] Building C object CMakeFiles/cmTC_cdf35.dir/CheckSymbolExists.c.o
[2/2] Linking C executable cmTC_cdf35
FAILED: cmTC_cdf35 
: && /usr/bin/cc   -rdynamic CMakeFiles/cmTC_cdf35.dir/CheckSymbolExists.c.o  -o cmTC_cdf35   && :
CMakeFiles/cmTC_cdf35.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x7): undefined reference to `pthread_create'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

File /home/renyang/build_Debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function ASN1_TIME_diff exists failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_b7e05"
[1/2] Building C object CMakeFiles/cmTC_b7e05.dir/CheckFunctionExists.c.o
FAILED: CMakeFiles/cmTC_b7e05.dir/CheckFunctionExists.c.o 
/usr/bin/cc -DGFLAGS_IS_A_DLL=0 -D_GNU_SOURCE  -DCHECK_FUNCTION_EXISTS=ASN1_TIME_diff  -std=c++14 -fPIE   -pthread -o CMakeFiles/cmTC_b7e05.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c
error: invalid argument '-std=c++14' not allowed with 'C'
ninja: build stopped: subcommand failed.


Determining if the BZ2_bzCompressInit exist failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_9a9bb"
[1/2] Building C object CMakeFiles/cmTC_9a9bb.dir/CheckSymbolExists.c.o
FAILED: CMakeFiles/cmTC_9a9bb.dir/CheckSymbolExists.c.o 
/usr/bin/cc -D_GNU_SOURCE  -std=c++14 -fPIE -o CMakeFiles/cmTC_9a9bb.dir/CheckSymbolExists.c.o   -c CheckSymbolExists.c
error: invalid argument '-std=c++14' not allowed with 'C'
ninja: build stopped: subcommand failed.

File /home/renyang/build_Debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <bzlib.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef BZ2_bzCompressInit
  return ((int*)(&BZ2_bzCompressInit))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Performing C++ SOURCE FILE Test FOLLY_CPP_ATOMIC_BUILTIN failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_7cee2"
[1/2] Building CXX object CMakeFiles/cmTC_7cee2.dir/src.cxx.o
[2/2] Linking CXX executable cmTC_7cee2
FAILED: cmTC_7cee2 
: && /usr/bin/c++  -DFOLLY_CPP_ATOMIC_BUILTIN  -std=c++14  -rdynamic CMakeFiles/cmTC_7cee2.dir/src.cxx.o  -o cmTC_7cee2  /usr/lib/x86_64-linux-gnu/libgflags.so.2.2.1 /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/x86_64-linux-gnu/libcrypto.so -ldl -pthread -lpthread && :
CMakeFiles/cmTC_7cee2.dir/src.cxx.o: In function `std::atomic<main::Test>::is_lock_free() const':
src.cxx:(.text+0x49): undefined reference to `__atomic_is_lock_free'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Source file was:

  #include <atomic>
  int main(int argc, char** argv) {
    struct Test { int val; };
    std::atomic<Test> s;
    return static_cast<int>(s.is_lock_free());
  }
Performing C++ SOURCE FILE Test COMPILER_HAS_W_SHADOW_LOCAL failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_4c759"
[1/2] Building CXX object CMakeFiles/cmTC_4c759.dir/src.cxx.o
FAILED: CMakeFiles/cmTC_4c759.dir/src.cxx.o 
/usr/bin/c++  -DGFLAGS_IS_A_DLL=0  -DCOMPILER_HAS_W_SHADOW_LOCAL  -std=c++14 -Werror=unknown-warning-option -fPIE   -Wshadow-local -pthread -o CMakeFiles/cmTC_4c759.dir/src.cxx.o -c src.cxx
error: unknown warning option '-Wshadow-local' [-Werror,-Wunknown-warning-option]
ninja: build stopped: subcommand failed.

Source file was:
int main() { return 0; }
Performing C++ SOURCE FILE Test COMPILER_HAS_W_SHADOW_COMPATIBLE_LOCAL failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_d39b3"
[1/2] Building CXX object CMakeFiles/cmTC_d39b3.dir/src.cxx.o
FAILED: CMakeFiles/cmTC_d39b3.dir/src.cxx.o 
/usr/bin/c++  -DGFLAGS_IS_A_DLL=0  -DCOMPILER_HAS_W_SHADOW_COMPATIBLE_LOCAL  -std=c++14 -Werror=unknown-warning-option -fPIE   -Wshadow-compatible-local -pthread -o CMakeFiles/cmTC_d39b3.dir/src.cxx.o -c src.cxx
error: unknown warning option '-Wshadow-compatible-local'; did you mean '-Wshadow-uncaptured-local'? [-Werror,-Wunknown-warning-option]
ninja: build stopped: subcommand failed.

Source file was:
int main() { return 0; }
Performing C++ SOURCE FILE Test HAVE_INT128_TRAITS failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_12fdb"
[1/2] Building CXX object CMakeFiles/cmTC_12fdb.dir/src.cxx.o
FAILED: CMakeFiles/cmTC_12fdb.dir/src.cxx.o 
/usr/bin/c++  -DGFLAGS_IS_A_DLL=0 -D_GNU_SOURCE  -DHAVE_INT128_TRAITS  -std=c++14 -Werror=unknown-warning-option -fPIE   -pthread -o CMakeFiles/cmTC_12fdb.dir/src.cxx.o -c src.cxx
In file included from src.cxx:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/functional:49:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_function.h:60:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/move.h:54:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/type_traits:1921:24: error: implicit instantiation of undefined template 'std::__make_signed_selector<unsigned __int128, false, false>'
    { typedef typename __make_signed_selector<_Tp>::__type type; };
                       ^
src.cxx:6:29: note: in instantiation of template class 'std::make_signed<unsigned __int128>' requested here
      ::std::is_same<::std::make_signed<unsigned __int128>::type,
                            ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/type_traits:1893:11: note: template is declared here
    class __make_signed_selector;
          ^
src.cxx:10:16: error: call to implicitly-deleted default constructor of '::std::hash<__int128>'
        sizeof(::std::hash<__int128>{}(0)) > 0,         "std::hash<__int128> is disabled.");
               ^                    ~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/functional_hash.h:101:19: note: default constructor of 'hash<__int128>' is implicitly deleted because base class '__hash_enum<__int128>' has no default constructor
    struct hash : __hash_enum<_Tp>
                  ^
2 errors generated.
ninja: build stopped: subcommand failed.

Source file was:

    #include <functional>
    #include <type_traits>
    #include <utility>
    static_assert(
      ::std::is_same<::std::make_signed<unsigned __int128>::type,
                     __int128>::value,
      "signed form of 'unsigned __uint128' must be '__int128'.");
    static_assert(
        sizeof(::std::hash<__int128>{}(0)) > 0,         "std::hash<__int128> is disabled.");
    int main() { return 0; }
Performing C++ SOURCE FILE Test FOLLY_USE_LIBCPP failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_b2b66"
[1/2] Building CXX object CMakeFiles/cmTC_b2b66.dir/src.cxx.o
FAILED: CMakeFiles/cmTC_b2b66.dir/src.cxx.o 
/usr/bin/c++  -DGFLAGS_IS_A_DLL=0 -D_GNU_SOURCE  -DFOLLY_USE_LIBCPP  -std=c++14 -Werror=unknown-warning-option -fPIE   -pthread -o CMakeFiles/cmTC_b2b66.dir/src.cxx.o -c src.cxx
src.cxx:4:4: error: No libc++
  #error No libc++
   ^
1 error generated.
ninja: build stopped: subcommand failed.

Source file was:

  #include <type_traits>
  #if !_LIBCPP_VERSION
  #error No libc++
  #endif
  int main() { return 0; }
Performing C++ SOURCE FILE Test HAVE_CXX_FLAG_WD654 failed with the following output:
Change Dir: /home/renyang/build_Debug/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_7d3e3"
[1/2] Building CXX object CMakeFiles/cmTC_7d3e3.dir/src.cxx.o
FAILED: CMakeFiles/cmTC_7d3e3.dir/src.cxx.o 
/usr/bin/c++    -Wall -Wnon-virtual-dtor  -std=c++11  -Wall  -Wextra  -Wshadow  -pedantic  -pedantic-errors  -Wshorten-64-to-32  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing -DHAVE_CXX_FLAG_WD654  -wd654 -fPIE   -wd654 -o CMakeFiles/cmTC_7d3e3.dir/src.cxx.o -c src.cxx
clang: error: unknown argument: '-wd654'
clang: error: unknown argument: '-wd654'
ninja: build stopped: subcommand failed.

Source file was:
int main() { return 0; }
@oleggolev
Copy link

I encountered the same issue when building with Docker from ubuntu:18.04

Has this been resolved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants