Package: release.debian.org Severity: normal Tags: bookworm User: release.debian....@packages.debian.org Usertags: pu
We're overdue for a bookworm llvm backport. I originally tested llvm 19.1.3-2, but since 19.1.4-1 has been uploaded I've rebuilt and tested it. The rest of this bug report is assuming the riscv build finishes and 19.1.4-1 properly migrates to trixie in another two days. If issues pop up in the meantime, we can reassess. I've got both versions ready to go.
[ Reason ]Recent versions of chromium have been struggling with clang-16 mis-compiling it. With chromium 129/130 we worked around it, but with 131 it is now having stack issues and crashing on various non-amd64 architectures (see #1088162). It's also just so much more convenient to have chromium using the same versions of clang between stable and unstable, and we recently (as of chromium 129) switched to clang-19 for unstable. It would be really nice to switch to clang-19 in bookworm.
In addition, the last rustc-web upload to bookworm (done by Emilio, not by me) had to use an older version than what was in sid at the time because current versions of rustc require clang-17 or greater. The firefox and rust maintainers would also benefit from a newer llvm in bookworm.
[ Impact ] There's no impact for users, as packages in stable must explicitly choose to build against clang-19. [ Tests ]Chromium 131.0.6778.85-1~deb12u1 succeeded in building and running on bookworm clang-19 packages from the llvm versions mentioned above.
[ Risks ] Low/no risk. Clang-19 is not currently in bookworm. [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in stable [x] the issue is verified as fixed in unstable [ Changes ] I've attached a diff against llvm-toolchain-19_19.1.4-1 in sid, since llvm-toolchain-19 isn't currently in bookworm. [ Other info ]
diff -urN a/llvm-toolchain-19-19.1.4/debian/changelog b/llvm-toolchain-19-19.1.4/debian/changelog --- a/llvm-toolchain-19-19.1.4/debian/changelog 2024-11-26 09:14:24.000000000 +0000 +++ b/llvm-toolchain-19-19.1.4/debian/changelog 2024-11-28 01:26:41.520827481 +0000 @@ -1,3 +1,15 @@ +llvm-toolchain-19 (1:19.1.4-1~deb12u1) bookworm; urgency=medium + + * Non-maintainer upload. + * Rebuild for bookworm. + * Change build-dep from sid's llvm-spirv-19 to bookworm's llvm-spirv-14. + * Add python3-myst-parser build-dep. + * Use CMAKE_BUILD_PARALLEL_LEVEL rather than -j to ensure that we don't + OOM during builds + (https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/157). + + -- Andres Salomon <dilin...@debian.org> Wed, 27 Nov 2024 23:40:11 +0000 + llvm-toolchain-19 (1:19.1.4-1) unstable; urgency=medium [ Sylvestre Ledru ] diff -urN a/llvm-toolchain-19-19.1.4/debian/control b/llvm-toolchain-19-19.1.4/debian/control --- a/llvm-toolchain-19-19.1.4/debian/control 2024-11-26 09:14:24.000000000 +0000 +++ b/llvm-toolchain-19-19.1.4/debian/control 2024-11-28 01:28:00.872727098 +0000 @@ -24,10 +24,11 @@ libctypes-ocaml-dev [amd64 arm64 ppc64el riscv64 s390x], dh-exec, dh-ocaml [amd64 arm64 ppc64el riscv64 s390x], libpfm4-dev [linux-any], python3-setuptools, libz3-dev [!sh4], + python3-myst-parser, # "| hello" is for older buster/bionic distros without spirv support # We need to keep the constraints coherent between the two alternatives, otherwise # hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled - llvm-spirv-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>, + llvm-spirv-14 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1> | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>, spirv-tools [linux-any] <!stage1> | hello [linux-any] <!stage1>, wasi-libc | hello, libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>, diff -urN a/llvm-toolchain-19-19.1.4/debian/control.in b/llvm-toolchain-19-19.1.4/debian/control.in --- a/llvm-toolchain-19-19.1.4/debian/control.in 2024-11-26 09:14:24.000000000 +0000 +++ b/llvm-toolchain-19-19.1.4/debian/control.in 2024-11-28 01:27:29.548766458 +0000 @@ -24,10 +24,11 @@ libctypes-ocaml-dev [@OCAML_ARCHS@], dh-exec, dh-ocaml [@OCAML_ARCHS@], libpfm4-dev [linux-any], python3-setuptools, @Z3_DEV_DEP@ + python3-myst-parser, # "| hello" is for older buster/bionic distros without spirv support # We need to keep the constraints coherent between the two alternatives, otherwise # hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled - llvm-spirv-19 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@BEGIN_OPTIONAL_HELLO@ | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@END_OPTIONAL_HELLO@, + llvm-spirv-14 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@BEGIN_OPTIONAL_HELLO@ | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] <!stage1>@END_OPTIONAL_HELLO@, spirv-tools [linux-any] <!stage1>@BEGIN_OPTIONAL_HELLO@ | hello [linux-any] <!stage1>@END_OPTIONAL_HELLO@, wasi-libc@BEGIN_OPTIONAL_HELLO@ | hello@END_OPTIONAL_HELLO@, libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>, diff -urN a/llvm-toolchain-19-19.1.4/debian/rules b/llvm-toolchain-19-19.1.4/debian/rules --- a/llvm-toolchain-19-19.1.4/debian/rules 2024-11-26 09:14:24.000000000 +0000 +++ b/llvm-toolchain-19-19.1.4/debian/rules 2024-11-28 01:25:20.968931857 +0000 @@ -959,7 +959,7 @@ echo "Using cmake: $(CMAKE_BIN)" # linker hack so stage2 can link against stage1 libs at runtime LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \ - VERBOSE=1 $(TIME_COMMAND) $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) -j $(NJOBS) --target stage2 || cat build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log + VERBOSE=1 CMAKE_BUILD_PARALLEL_LEVEL=$(NJOBS) $(TIME_COMMAND) $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) --target stage2 || cat build-llvm/tools/clang/stage2-bins/CMakeFiles/CMakeOutput.log # Check the stage 2 build worked if ! readelf --string-dump .comment $(TARGET_BUILD_STAGE2)/bin/clang 2>&1|grep -q "clang version"; then \
OpenPGP_signature.asc
Description: OpenPGP digital signature