Source: llvm-toolchain-16-16.0.6 Version: 1:16.0.6-17 I am experimentally building this package on Ubuntu jammy, and have found a few problems in the debian/ files. I'll describe them in order of most to least significant.
First, this build failure: ----begin build log excerpt---- [2672/2769] cd /home/build/llvm/llvm-toolchain-16-16.0.6/libclc/build && /usr/bin/llvm-spirv-15 --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc FAILED: spirv-mesa3d-.spv /home/build/llvm/llvm-toolchain-16-16.0.6/libclc/build/spirv-mesa3d-.spv cd /home/build/llvm/llvm-toolchain-16-16.0.6/libclc/build && /usr/bin/llvm-spirv-15 --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc Unknown attribute kind (86) (Producer: 'LLVM16.0.6' Reader: 'LLVM 15.0.7') ----end build log excerpt---- The Build-Depends: resulted in llvm-spirv-15 getting installed (as that is the latest jammy has available), and this fallback-logic line in d/rules enabled its use: LLVM_SPIRV_VERSION := $(shell expr $(LLVM_VERSION) - 1) It seems pretty clear that llvm-spirv-N with N != 16 cannot be used for the build, however. Secondly, d/rules does not appear to be parallel-safe. If I build with "dpkg-buildpackage -b -j8", I run into this: ----begin build log excerpt---- ar ruv libFuzzer.a Fuzzer*.o Using cmake: cmake LD_LIBRARY_PATH=/home/build/llvm/llvm-toolchain-16-16.0.6/build-llvm/lib:$LD_LIBRARY_PATH \ VERBOSE=1 cmake --build build-llvm -j 8 --target stage2 || cat build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log mkdir -p libclc/build -O2 -DNDEBUG -g1 -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 /bin/sh: 5: /home/build/llvm/llvm-toolchain-16-16.0.6/build-llvm/tools/clang/stage2-bins/bin/clang++: not found make[1]: *** [debian/rules:760: debian-libfuzzer-build] Error 1 make[1]: *** Waiting for unfinished jobs.... ----end build log excerpt---- Adding a ".NOTPARALLEL:" line to the file prevents this from occurring. I also noticed this (non-fatal) error: ----begin build log excerpt---- if ldd build-llvm/tools/clang/stage2-bins/lib/libclang-16.so.1|grep -q libclang-cpp-16; then \ echo "libclang-16.so.1 depends on libclang-cpp. Should not be the case"; \ exit 2; \ fi ldd: build-llvm/tools/clang/stage2-bins/lib/libclang-16.so.1: No such file or directory ----end build log excerpt---- The library file is named differently: $ ls -l build-llvm/tools/clang/stage2-bins/lib/libclang-16.so* lrwxrwxrwx 1 build users 21 Nov 3 20:40 build-llvm/tools/clang/stage2-bins/lib/libclang-16.so -> libclang-16.so.16.0.6 -rwxr-xr-x 1 build users 124310912 Nov 3 20:40 build-llvm/tools/clang/stage2-bins/lib/libclang-16.so.16.0.6 The check should be rewritten to ensure an absent file causes failure. Lastly, there was this (non-fatal) error: ----begin build log excerpt---- dh_fixperms dh_missing debian/rules override_dh_strip make[1]: Entering directory '/home/build/llvm/llvm-toolchain-16-16.0.6' : # running out of diskspace on the buildds find build-llvm -name '*.o' -o -name '*.a' -type f | xargs -r rm -f find: ‘build-llvm’: No such file or directory ----end build log excerpt---- The build-llvm directory was already removed by the "rm -rf $(TARGET_BUILD)" line at the end of the "override_dh_auto_install" target. --Daniel -- Daniel Richard G. || sk...@iskunk.org My ASCII-art .sig got a bad case of Times New Roman.