#896017 "/usr/bin/ld: cannot find -lstdc++" when building with clang

#896017#5
Date:
2018-04-18 18:48:15 UTC
From:
To:
Dear Maintainer,

With clang++ versions 3.8, 4.0, and 5.0, the following occurs:

    rharwood@seton:/tmp$ export LC_ALL=en_US.utf8
    rharwood@seton:/tmp$ echo "int main() { return 0; }" > test.c++
    rharwood@seton:/tmp$ /usr/bin/clang++ -v test.c++
    clang version 4.0.1-10 (tags/RELEASE_401/final)
    Target: x86_64-pc-linux-gnu
    Thread model: posix
    InstalledDir: /usr/bin
    Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/8
    Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/8.0.1
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.4.0
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1
    Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
    Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8.0.1
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.4.0
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8.0.1
    Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1
    Candidate multilib: .;@m64
    Selected multilib: .;@m64
     "/usr/lib/llvm-4.0/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.c++ -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-4.0/bin/../lib/clang/4.0.1 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/backward -internal-isystem /usr/include/clang/4.0.1/include/ -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-4.0/bin/../lib/clang/4.0.1/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 105 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/test-428819.o -x c++ test.c++
    clang -cc1 version 4.0.1 based upon LLVM 4.0.1 default target x86_64-pc-linux-gnu
    ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/x86_64-linux-gnu"
    ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++/backward"
    ignoring nonexistent directory "/include"
    ignoring duplicate directory "/usr/include/clang/4.0.1/include"
    #include "..." search starts here:
    #include <...> search starts here:
     /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../../include/c++
     /usr/include/clang/4.0.1/include
     /usr/local/include
     /usr/include/x86_64-linux-gnu
     /usr/include
    End of search list.
     "/usr/bin/ld" --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../x86_64-linux-gnu/crt1.o /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../x86_64-linux-gnu/crti.o /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/crtbegin.o -L/usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1 -L/usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../.. -L/usr/lib/llvm-4.0/bin/../lib -L/lib -L/usr/lib /tmp/test-428819.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/crtend.o /usr/bin/../lib/gcc/x86_64-linux-gnu/8.0.1/../../../x86_64-linux-gnu/crtn.o
    /usr/bin/ld: cannot find -lstdc++
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    rharwood@seton:/tmp$

Thanks!

#896017#10
Date:
2018-05-02 13:15:48 UTC
From:
To:
if at all, it's a clang issue not finding something
#896017#19
Date:
2018-11-01 11:03:18 UTC
From:
To:
Hello

Are you sure you have libstdc++ installed?

Thanks
S

#896017#24
Date:
2022-06-24 18:41:00 UTC
From:
To:
Yes, libstd++ is installed.

I get the same error running xtensor tests using clang

clang Depends: clang13 Depends: libstdc++-11-dev

libstdc++-11-dev installs libstd++ as
/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so

Is it bug in libstdc++-11-dev?

#896017#33
Date:
2024-02-18 11:34:56 UTC
From:
To:
This bug is live again.
Tests of xtensor-blas report: