#1139451 trixie-pu: package llvm-toolchain-22/1:22.1.7-1~deb13u1

#1139451#5
Date:
2026-06-09 07:20:25 UTC
From:
To:
[ Reason ]
Clang 19 is getting a little long in the tooth for chromium. In
addition, we're going to need newer version of rustc-web for both
chromium and upcoming firefox-esr 153; but newer versions of rustc
require at least llvm-toolchain-20.

Note that 22.1.6-1 is currently in testing, but 22.1.7-1 is about to
migrate. If for some reason 22.1.7-1 fails to migrate in a timely
manner, I can fall back to 22.1.6-1.

[ Impact ]
Minimal, as this only impacts packages which intentionally choose to
build against llvm-toolchain-22.

Note that this version of llvm-toolchain-$VERSION (unlike past versions)
builds libc++1, libc++abi1, and llvm-libunwind1 packages *without* the
major version in the package name. This could cause problems in future
backports of llvm-toolchain-$VERSION, but won't be a problem for trixie
since it was released with an older version of llvm-toolchain-19 that
included libc++1-19 (and friends).

[ Tests ]
Chromium 149.0.7827.53-1~deb13u1 succeeded in building using clang-22
22.1.7-1~deb13u1 packages, and I'm currently using those chromium
packages for browsing.

[ Risks ]
Low risk for the above stated reasons.

[ 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 ]
Since llvm-toolchain-22 isn't currently in trixie, I've included the
diff between what's in 22.1.7-1 (in sid) and what's changed in
22.1.7-1~deb13u1. The g++-multilib change happens automatically as
d/control gets regenerated from d/control.in and s390x gets filtered out
of MULTIARCH_LIBS; I'm merely documenting it in d/changelog.

#1139451#10
Date:
2026-06-09 11:54:13 UTC
From:
To:
Control: tags -1 moreinfo
from src:llvm-defaults.

# apt-get install starpu-examples/trixie libomp5/sid
...
The following packages have unmet dependencies:
 libomp5 : Conflicts: libomp-x.y
 libomp5-19 : Conflicts: libomp-x.y
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
   Unable to satisfy dependencies. Reached two conflicting decisions:
   1. libomp5-19:amd64 is selected for install because:
      1. starpu-examples:amd64=1.4.7+dfsg-2 is selected for install
      2. starpu-examples:amd64=1.4.7+dfsg-2 Depends libomp5-19 (>= 0.20130412)
   2. libomp5-19:amd64 is not selected for install because:
      1. libomp5:amd64=1:22.1.7-1 is selected for install
      2. libomp5-19:amd64 Conflicts libomp-x.y
         [selected libomp5:amd64=1:22.1.7-1]
#

In practice this might mean that when both starpu-examples/trixie and
libomp5/trixie are installed, then llvm-toolchain-22/1:22.1.7-1~deb13u1
in trixie might result in a dist-upgrade removing starpu-examples.

I assume that didn't run into #1128822, adding trixie to SPIRV_DISABLE_DISTRO
would be an alternative.

cu
Adrian

#1139451#17
Date:
2026-06-23 23:35:06 UTC
From:
To:
Thanks! You're right, I didn't look at libomp. For right now, I think
what I'll do is simply drop the unversioned lib packages (libc++1,
libc++abi1, llvm-libunwind1, and libomp5) until I come up with a better
solution. Chromium (and rust) can continue statically linking against
the various libraries.

I'm having the -22 dev packages depend upon -19 libs. Despite having a
stable ABI, this is not really supported; the llvm-toolchain packages
support that kind of thing in the other direction (-22 dev packages can
be made to depend on -23 libs). However, at least for trixie (and
potentially bookworm, but I haven't tested it yet), this will be fine
for rust & chromium since they're building statically against those dev
packages. Simply dropping the library deps in those dev packages results
in llvm build failures, as internally llvm appears to link to them
dynamically, and I didn't feel like spending too long investigating why.

Please see the attached patch for the updated diff. I tested this by
build chromium (statically) with it on trixie.

I didn't hit that, no. Hopefully I don't hit it for bookworm, either!