Bug#1147574: packaging of the fuzzer libraries is broken with LLVM 21, 22 and 23

Matthias Klose doko at debian.org
Sun Sep 13 08:20:04 BST 2026


Package: src:llvm-toolchain-22
Version: 1:22.1.8-1
Severity: serious
Tags: sid forky

As seen in the vbox-tools upload to migrate from LLVM 19 to 21, the 
fuzzer libraries are not used anymore (or not found) when built with 
LLVM 21. You can reproduce that when building with the unversioned clang:

[...]
     LD            tests/vb2_keyblock_fuzzer
clang -o 
/packages/tmp/vboot-utils-0~R106-15054.B+dfsg/build/tests/vb2_keyblock_fuzzer 
-Wl,-z,relro -Wl,-z,now -Wl,--gc-sections -pie -Xlinker 
--allow-multiple-definition -fsanitize=fuzzer 
/packages/tmp/vboot-utils-0~R106-15054.B+dfsg/build/tests/vb2_keyblock_fuzzer.o 
  /packages/tmp/vboot-utils-0~R106-15054.B+dfsg/build/vboot_fw.a -lrt -luuid
/usr/bin/x86_64-linux-gnu-ld.bfd/usr/bin/x86_64-linux-gnu-ld.bfd: cannot 
find : cannot find 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer.a: 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer.a: 
No such file or directory
No such file or directory
/usr/bin/x86_64-linux-gnu-ld.bfd: cannot find 
/usr/bin/x86_64-linux-gnu-ld.bfd: cannot find 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer_interceptors.a: 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer_interceptors.aNo 
such file or directory:
No such file or directory
/usr/bin/x86_64-linux-gnu-ld.bfd/usr/bin/x86_64-linux-gnu-ld.bfd: cannot 
find : cannot find 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.ubsan_standalone.a/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.ubsan_standalone.a: 
: No such file or directoryNo such file or directory

/usr/bin/x86_64-linux-gnu-ld.bfd: cannot find 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer.a: 
No such file or directory
/usr/bin/x86_64-linux-gnu-ld.bfd: cannot find 
/usr/lib/llvm-21/lib/clang/21/lib/x86_64-pc-linux-gnu/libclang_rt.fuzzer_interceptors.a: 
No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
make[2]: *** [Makefile:1156: 
/packages/tmp/vboot-utils-0~R106-15054.B+dfsg/build/tests/cgpt_fuzzer] 
Error 1
make[2]: *** Waiting for unfinished jobs....

So apparently building and shipping Debian's own libFuzzer.a is not good 
enough anymore.

Two solutions here:

  - stop building the libfuzzer-N-dev package

  - Ship the libclang_rt.fuzzer.a (and maybe other) libraries.

This is seen with LLVM 21, 22 and 23.



More information about the Pkg-llvm-team mailing list