Bug#961547: clang++ fails to find libstdc++ headers if libgcc-10-dev is installed but libstdc++-10 is not.

peter green plugwash at p10link.net
Mon May 25 22:14:27 BST 2020


Package: clang-9
Version: 9.0.1-12

using test.cpp consisting of the single line "#include <list>" and on a system with libgcc-10-dev installed but not libstdc++-10-dev I get the following failure:

root at thinkpad:/# clang++ -v -c test.cpp
clang version 9.0.1-12
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Selected multilib: .;@m64
  "/usr/lib/llvm-9/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.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -coverage-notes-file /test.gcno -resource-dir /usr/lib/llvm-9/lib/clang/9.0.1 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-9/lib/clang/9.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 / -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -faddrsig -o test.o -x c++ test.cpp
clang -cc1 version 9.0.1 based upon LLVM 9.0.1 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/backward"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
  /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++
  /usr/local/include
  /usr/lib/llvm-9/lib/clang/9.0.1/include
  /usr/include/x86_64-linux-gnu
  /usr/include
End of search list.
test.cpp:1:10: fatal error: 'list' file not found
#include <list>
          ^~~~~~
1 error generated.
root at thinkpad:/#

If neither libgcc-10-dev or libstdc++-10-dev is installed then it correctly finds the headers in the g++-9 directories. If both are installed then it finds them in the g++-10 directories.



More information about the Pkg-llvm-team mailing list