Bug#778256: clang: fail to use the wrong gnu libstdc++ include directory this directory is one digit only (here 5)

Alban Browaeys prahal at yahoo.com
Thu Feb 12 20:25:38 UTC 2015


Package: clang
Version: 1:3.5-26
Severity: normal

Dear Maintainer,

I tried to compile a c++ with clang (3.5, 3.7) which worked before I installed libstdc++
libstdc++-5-dev:amd64                           5-20150205-1
libstdc++6:amd64                                5-20150205-1
from experimental (thus the normal severity as the tool the package ship is broken, higher would
be expected when 5 enters unstable).




The verbose output of clang++ (3.5 here) follows. What helper me was:
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0"
that is there is an /usr/include/x86_64-linux-gnu/c++/5 but no /usr/include/x86_64-linux-gnu/c++/5.0.0
which is fine and was same scheme with 4.X serie.
But the initial guess is wrong:
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.0.0
as with 4.9  , 4.9 is sorted before 4.9.2 thus include/c++/4.9 is used instead of non existent include/c++/4.9.2
 ... but 5.0.0 is sorted before 5 , or 5 is bypassed altogether !
My guess is this is the root of bug.



Debian clang version 3.5.0-9 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/i586-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/i586-linux-gnu/4.9.2
Found candidate GCC installation: /usr/bin/../lib/gcc/i586-linux-gnu/5.0.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7.4
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8.4
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.2
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0
Found candidate GCC installation: /usr/lib/gcc/i586-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i586-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/i586-linux-gnu/5.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
 "/usr/lib/llvm-3.5/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name main.cpp -mrelocation-model static -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.24.90 -v -dwarf-column-info -coverage-file /home/prahal/SandBoxes/uva.onlinejudge.org/429_wordtransformation-build2/CMakeFiles/429_wordtransformation.dir/main.cpp.o -resource-dir /usr/lib/llvm-3.5/bin/../lib/clang/3.5.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0/backward -internal-isystem /usr/include/clang/3.5.0/include/ -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.5/bin/../lib/clang/3.5.0/include -internal-externc-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /home/prahal/SandBoxes/uva.onlinejudge.org/429_wordtransformation-build2 -ferror-limit 19 -fmessage-length 212 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o CMakeFiles/429_wordtransformation.dir/main.cpp.o -x c++ /home/prahal/SandBoxes/uva.onlinejudge.org/429_wordtransformation/main.cpp
clang -cc1 version 3.5.0 based upon LLVM 3.5.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0"
ignoring nonexistent directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/x86_64-linux-gnu/c++/5.0.0"
ignoring nonexistent directory "/include"
ignoring duplicate directory "/usr/include/clang/3.5.0/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0/backward
 /usr/include/clang/3.5.0/include
 /usr/local/include
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
In file included from /home/prahal/SandBoxes/uva.onlinejudge.org/429_wordtransformation/main.cpp:1:
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.0.0/../../../../include/c++/5.0.0/iostream:38:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>
         ^
1 error generated.




-- System Information:
Debian Release: 8.0
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.18.0-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages clang depends on:
ii  clang-3.5  1:3.5-9

clang recommends no packages.

clang suggests no packages.

-- no debconf information



More information about the Pkg-llvm-team mailing list