#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!

#1139451#24
Date:
2026-07-05 23:29:53 UTC
From:
To:
Hi,

Emilio suggested uploading now to save a round-trip, so I just uploaded
22.1.8-1~deb13u1 to trixie. I've attached the diff between 22.1.8-1 and
22.1.8-1~deb13u1, though it's really the same as the previous
22.1.7-1~deb13u1.

Thanks,
Andres

#1139451#29
Date:
2026-07-06 17:49:05 UTC
From:
To:
Hi,

The packages as uploaded to NEW have some dependency issues:

     pkg:
      package: liboffload-22
      version: 1:22.1.8-1~deb13u1
      architecture: amd64
      unsat-dependency: libomp5 (>= 1:22.1)

trixie has libomp5 1:19.0-63.

Is that "just" a sign of the packages not being built in the correct
environment, or something that needs source changes?

Regards,

Adam

#1139451#34
Date:
2026-07-06 18:37:39 UTC
From:
To:
D'oh, I think I see the problem. d/rules has the following:

echo 'libomp $(SONAME_OPENMP) libomp5 (>= 1:$(LLVM_VERSION).1)' >>
debian/shlibs.common

I'll fix it and kick off another rebuild soon.

#1139451#39
Date:
2026-07-06 19:12:07 UTC
From:
To:
I am not a member of the release team, but I fail to see how that makes
any difference now after the deadline for the point release.

Doing anything in a hurry now is just stress for everyone with high
risk of introducing regressions, and it is anyway doubtful that it
would be compatible with doing the point release on Saturday.

cu
Adrian

#1139451#44
Date:
2026-07-23 17:04:54 UTC
From:
To:
Okay, that took a little longer than expected because building chromium
on trixie with llvm-toolchain-22 broke (related to trixie's older
bindgen), but we have a workaround for chromium and I was able to test
chromium builds with this new ~deb13u2 package.

I've attached the full debdiff between sid's version and this backport,
but the only non-changelog difference between ~deb13u1 and ~deb13u2 is
the bit at the end:


+@@ -1833,7 +1833,7 @@
+ 	echo 'libc++ 1 libc++1 (>= 1:$(LLVM_VERSION).1)' > debian/shlibs.common
+ 	echo 'libc++abi 1 libc++abi1 (>= 1:$(LLVM_VERSION).1)' >>
debian/shlibs.common
+   ifneq (,$(filter $(DEB_HOST_ARCH), $(OMP_ARCHS)))
+-	echo 'libomp $(SONAME_OPENMP) libomp5 (>= 1:$(LLVM_VERSION).1)' >>
debian/shlibs.common
++	echo 'libomp $(SONAME_OPENMP) libomp5-19' >> debian/shlibs.common
+   endif
+   ifneq (,$(filter $(DEB_HOST_ARCH), $(LIBUNWIND_ARCHS)))
+ 	echo 'libunwind 1 llvm-libunwind1 (>= 1:$(LLVM_VERSION).1)' >>
debian/shlibs.common

#1139451#49
Date:
2026-07-24 15:39:38 UTC
From:
To:
it would probably be good if we could wait for this MR to land:

https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/224

to avoid the need for another bump for rustc(-web)?

Fabian

#1139451#54
Date:
2026-07-24 16:35:44 UTC
From:
To:
[...]
[...]


Ah jeez - if that were a smaller commit, I'd just cherry-pick it and
roll a ~deb13u3. Given the size though, I'll wait for the llvm packages
to pick it up and migrate to forky.

Mike & Emilio, are you good with another 2-4 week delay for the llvm
backoprt?

Also in the meantime, I'd appreciate testing of the current packages:

https://people.debian.org/~dilinger/llvm22/

You can grab the orig from sid/forky if you want to rebuild, I'm on a
train right now and don't have very good wifi. I've only tested it
building chromium, so builds of firefox or rustc would help shake out
any additional changes we might need to make.

Thanks,
Andres

#1139451#59
Date:
2026-07-24 17:25:28 UTC
From:
To:
FWIW, the actual change is the first small hunk, the rest is testsuite
changes that I don't think the Debian build even runs. Let me
double-check and verify (and minimize accordingly).

I can give them a spin to build a dlstage0 backport of rustc 1.96 from
experimental (the earlier versions are still on LLVM 21) over the
weekend.

Fabian

#1139451#64
Date:
2026-07-25 08:38:48 UTC
From:
To:
updated MR (original one got merged already) opened, since what I wrote
above holds.

rustc 1.96.1 from experimental (with a slight adaptation to match
trixie's libgit2, and the `pkg.rustc.dlstage0` (no 1.95 in trixie yet)
and `nowasm` (lack of wasm-tools) build profiles works as expected with
your current test packages.

#1139451#69
Date:
2026-07-25 16:03:58 UTC
From:
To:
I'm not seeing an updated MR, but if it's just skipping all the test/
stuff that's easy enough. I'll start up a deb13u3 build shortly.

Great, thank you!

#1139451#74
Date:
2026-07-25 17:16:26 UTC
From:
To:
https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/226

and yes, exactly, same patch, just without all the test hunks :)

#1139451#79
Date:
2026-07-26 20:14:58 UTC
From:
To:

Okay, I stuck the new packages at
https://people.debian.org/~dilinger/llvm22/. If you have a way of
reproducing the OOB issue, would you mind giving them another whirl
building rustc to make sure the included fix works as intended? If
everything looks good I'll upload them tonight or tomorrow. I've already
successfully built chromium with these.

#1139451#84
Date:
2026-08-04 09:44:39 UTC
From:
To:
Hi,

Do you have test packages or a .dsc somewhere?

Cheers,
Emilio

#1139451#89
Date:
2026-08-05 05:42:07 UTC
From:
To:
put a test build of rustc 1.96.0 with nowasm,pkg.rustc.dlstage0 and Andres'
LLVM 22 packages here:

https://people.debian.org/~fabiang/rustc-trixie-llvm-22/

#1139451#94
Date:
2026-08-09 14:58:17 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u2

Explanation: new package to support chromium builds

#1139451#99
Date:
2026-08-09 14:58:13 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u1

Explanation: new package to support chromium builds

#1139451#104
Date:
2026-08-09 14:58:21 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u3

Explanation: new package to support chromium builds

#1139451#109
Date:
2026-08-09 14:58:17 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u2

Explanation: new package to support chromium builds

#1139451#112
Date:
2026-08-09 14:58:13 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u1

Explanation: new package to support chromium builds

#1139451#115
Date:
2026-08-09 14:58:21 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u3

Explanation: new package to support chromium builds

#1139451#120
Date:
2026-08-16 01:16:31 UTC
From:
To:
Hi,

The deb13u3 package failed to build on a bunch of architectures on trixie:

https://buildd.debian.org/status/package.php?p=llvm-toolchain-22&suite=trixie

The ppc64el build failure is an upstream bug that's fixed in newer
versions of LLVM, but for 22 we can just work around it (which Emilio
did successfully for his deb12u1 upload
https://people.debian.org/~pochu/llvm-bookworm.debdiff ).

The i386 invalid build-dep is related to libomp not being built on
trixie (though it was later added to 19 after trixie's release). Emilio
also fixed that in his bookworm upload.

The remaining two architectures (armel, s390x) not getting built are
because of a bug in d/rules; when I switched from using llvm-libunwind1
to libunwind-19, I missed the spot where the list of architectures for
that package is generated for the build-dep.

I've prepared deb13u4 to fix all of those build failures. I've attached
a debdiff between deb13u3 and deb13u4. If it looks good, I'll do a
source-only upload to trixie.

(Emilio, you'll probably want to pull that libunwind fix into bookworm
and possibly bullseye's llvm-toolchain-22.)

Thanks,
Andres

#1139451#125
Date:
2026-08-18 18:09:22 UTC
From:
To:
deb13u4 failed on armel for a new reason; I'll need to prep deb13u5 once
I figure it out. At least it succeeded on the other archs.
[...]

#1139451#130
Date:
2026-08-18 18:45:56 UTC
From:
To:
Actually, maybe firefox-esr doesn't care about armel? I see that
firefox-esr ftbfs on trixie for armel (and has for some time), and
oldstable/lts doesn't appear to build armel?

If that's the case, then I won't bother and we can just go with deb13u4.
Chromium certainly doesn't care about armel.

#1139451#135
Date:
2026-08-18 20:01:30 UTC
From:
To:
After an IRC discussion with Emilio (and based on chromium's upcoming
release) - please accept deb13u4 into s-p-u.

We'll need to do deb13u5 later on to fix armel, but there's some urgency
to get chromium w/ llvm 22 able to build on armhf/ppc64. I also haven't
been able to test s390x yet. So once deb13u4 is accepted, I'll be able
to see how the s390x build fares and any additional fixes needed there
can be included alongside armel fixes.

#1139451#140
Date:
2026-08-18 21:45:20 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u4

Explanation: fix various build failures

#1139451#143
Date:
2026-08-18 21:45:20 UTC
From:
To:
package release.debian.org
tags 1139451 = trixie pending
thanks

Hi,

The upload referenced by this bug report has been flagged for acceptance into the proposed-updates queue for Debian trixie.

Thanks for your contribution!

Upload details
==============

Package: llvm-toolchain-22
Version: 22.1.8-1~deb13u4

Explanation: fix various build failures