Skip to content

Host Clang must be able to find libstdc++4.7 or newer #96

Closed
@FrancescoTerrosi

Description

@FrancescoTerrosi

Hi, i'm compiling a software that internally builds llvm with this script (starts at line 40, fails at line 59)

As you can see, the console output complains about the version of my libstdc++ (which i'm pretty sure it's 6 and not lower than 4.7) and looking at CmakeError.log it says that the program fails when including (second log)

I ran this same script on other computers and things work just fine, any help would be appreciated,

Thank you

Console output

CMake Deprecation Warning at CMakeLists.txt:20 (cmake_policy):
The OLD behavior for policy CMP0051 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

-- The C compiler identification is Clang 3.9.1
-- The CXX compiler identification is Clang 3.9.1
-- The ASM compiler identification is Clang
-- Found assembler: /usr/bin/clang-3.9
-- Check for working C compiler: /usr/bin/clang-3.9
-- Check for working C compiler: /usr/bin/clang-3.9 -- 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/clang++-3.9
-- Check for working CXX compiler: /usr/bin/clang++-3.9 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test LLVM_NO_OLD_LIBSTDCXX
-- Performing Test LLVM_NO_OLD_LIBSTDCXX - Failed
CMake Error at cmake/modules/CheckCompilerVersion.cmake:38 (message):
Host Clang must be able to find libstdc++4.7 or newer!
Call Stack (most recent call first):
cmake/config-ix.cmake:14 (include)
CMakeLists.txt:465 (include)

-- Configuring incomplete, errors occurred!
See also "Build/llvm-build/CMakeFiles/CMakeOutput.log".
See also "Util/Build/llvm-build/CMakeFiles/CMakeError.log".`

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

CMakeError.log

Checking whether the ASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)":
clang version 3.9.1-19ubuntu1 (tags/RELEASE_391/rc2)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Performing C++ SOURCE FILE Test LLVM_NO_OLD_LIBSTDCXX failed with the following output:
Change Dir: Util/Build/llvm-build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_3ae75/fast
/usr/bin/make -f CMakeFiles/cmTC_3ae75.dir/build.make CMakeFiles/cmTC_3ae75.dir/build
make[1]: Entering directory 'Util/Build/llvm-build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_3ae75.dir/src.cxx.o
/usr/bin/clang++-3.9 -DLLVM_NO_OLD_LIBSTDCXX -std=c++0x -o CMakeFiles/cmTC_3ae75.dir/src.cxx.o -c Util/Build/llvm-build/CMakeFiles/CMakeTmp/src.cxx
Util/Build/llvm-build/CMakeFiles/CMakeTmp/src.cxx:2:10: fatal error: 'atomic' file not found
#include
^
1 error generated.
CMakeFiles/cmTC_3ae75.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_3ae75.dir/src.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_3ae75.dir/src.cxx.o] Error 1
make[1]: Leaving directory 'Util/Build/llvm-build/CMakeFiles/CMakeTmp'
Makefile:121: recipe for target 'cmTC_3ae75/fast' failed
make: *** [cmTC_3ae75/fast] Error 2

Source file was:

#include
std::atomic x(0.0f);
int main() { return (float)x; }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions