Hi,

I have the same problem with ccls which has stopped finding C++ headers.

the quick fix is to install libstdc++-14-dev.


The problem seems to be a dependency error: Debian testing's `clang`depends on 
`clang-16`which depends on `libstdc++-13-dev`.

but the program `clang-16`only depends on `libstdc++-14-dev`at runtime (see the 
section "#include <...> search starts here:"):

```
~$ clang-16 -E -v -xc++ /dev/null
Debian clang version 16.0.6 (19)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/13
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/14
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/14
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found HIP installation: /usr, version 5.2.21153
 (in-process)
 "/usr/lib/llvm-16/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -E -disable-free 
-clear-ast-before-backend -disable-llvm-verifier -discard-value-names 
-main-file-name null -mrelocation-model pic -pic-level 2 -pic-is-pie 
-mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math 
-mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic 
-debugger-tuning=gdb -v -fcoverage-compilation-dir=/home/rem -resource-dir 
/usr/lib/llvm-16/lib/clang/16 -internal-isystem 
/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14 
-internal-isystem 
/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14
 -internal-isystem 
/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/backward 
-internal-isystem /usr/lib/llvm-16/lib/clang/16/include -internal-isystem 
/usr/local/include -internal-isystem 
/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/include 
-internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include 
-internal-externc-isystem /usr/include -fdeprecated-macro 
-fdebug-compilation-dir=/home/rem -ferror-limit 19 -fgnuc-version=4.2.1 
-fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig 
-D__GCC_HAVE_DWARF2_CFI_ASM=1 -o - -x c++ /dev/null
clang -cc1 version 16.0.6 based upon LLVM 16.0.6 default target 
x86_64-pc-linux-gnu
ignoring nonexistent directory 
"/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14
 
/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14
 /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/backward
 /usr/lib/llvm-16/lib/clang/16/include
 /usr/local/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
# 1 "/dev/null"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 437 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "/dev/null" 2
```

As the actual `gcc`package depends on `gcc-13`, `clang-16`(as the default clang 
version) should too.

my 2¢

Rémi

Reply via email to