Package: clang-16 Version: 1:16.0.6-26 Severity: normal Dear Maintainer,
I was trying to track down a regression reported by the ClusterFuzz service, and when I try to build the fuzzing reproducer on trixie, it fails. However, it works on Bookworm. So while I can work around the problem by using the Bookworm chroot, this is not a great long-term solution. There are two problems; the first is that clang isn't finding the algorithm header file. Using e2fsprogs sources with: configure CC=clang-16 CFLAGS=-g CXX=clang++-16 --enable-fuzzing --enable-ubsan % cd tests/fuzz % make V=1 ext2fs_image_read_write_fuzzer clang++-16 -c -I. -I../../lib -I/usr/projects/e2fsprogs/e2fsprogs/lib -fsanitize=undefined -g -I/usr/include/fuse3 -pthread -DHAVE_CONFIG_H -fsanitize=fuzzer /usr/projects/e2fsprogs/e2fsprogs/tests/fuzz/ext2fs_image_read_write_fuzzer.cc -o ext2fs_image_read_write_fuzzer.o In file included from /usr/projects/e2fsprogs/e2fsprogs/tests/fuzz/ext2fs_image_read_write_fuzzer.cc:27: /usr/lib/llvm-16/lib/clang/16/include/fuzzer/FuzzedDataProvider.h:16:10: fatal error: 'algorithm' file not found #include <algorithm> ^~~~~~~~~~~ 1 error generated. The second problem is that it's not finding -lstdc++: % make V=1 ext2fs_check_directory_fuzzer clang++-16 -fsanitize=undefined -pthread -fsanitize=fuzzer -o ext2fs_check_directory_fuzzer ext2fs_check_directory_fuzzer.o ../../lib/libsupport.a ../../lib/libe2p.a ../../lib/libext2fs.a ../../lib/libcom_err.a -lpthread /bin/ld: cannot find -lstdc++: No such file or directory /bin/ld: cannot find -lstdc++: No such file or directory clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [Makefile:392: ext2fs_check_directory_fuzzer] Error 1 Now, this works on bookworm, using clang-14. I've also tried using clang-14 on trixie, and it's failing there too. I'm guessing it's some kind of missing package, but it's really unclear what the package should be. I do have libc++16-dev and libc++--dev installed, which is what I *think* should be the right package to get stdc++, but it's apparently not being found. Help? -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (900, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.6.15-amd64 (SMP w/20 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages clang-16 depends on: ii binutils 2.42-4 ii libc6 2.37-19 ii libc6-dev 2.37-19 ii libclang-common-16-dev 1:16.0.6-26 ii libclang-cpp16t64 1:16.0.6-26 ii libclang1-16t64 1:16.0.6-26 ii libgcc-13-dev 13.2.0-24 ii libllvm16t64 1:16.0.6-26 ii libobjc-13-dev 13.2.0-24 ii libstdc++-13-dev 13.2.0-24 ii libstdc++6 14-20240330-1 ii llvm-16-linker-tools 1:16.0.6-26 Versions of packages clang-16 recommends: ii llvm-16-dev 1:16.0.6-26 ii python3 3.11.8-1 Versions of packages clang-16 suggests: pn clang-16-doc <none> pn wasi-libc <none> -- no debconf information