Bug#1101291: coinstallation failure of various llvm-toolchain-snapshot packages
Simon McVittie
smcv at debian.org
Wed Sep 24 11:08:29 BST 2025
Control: tags -1 + patch
Control: clone -1 -2 -3
Control: retitle -1 Multi-Arch coinstallation failure of various llvm-toolchain-21 packages
Control: reassign -2 liboffload-20
Control: retitle -2 Multi-Arch coinstallation failure of liboffload-20
Control: reassign -3 src:llvm-toolchain-snapshot
On Tue, 25 Mar 2025 at 07:30:55 +0100, Helmut Grohne wrote:
>The named packages fail to coinstall despite explicitly declaring that
>capability via Multi-Arch: same. Most of them install
>architecture-dependent files to architecture-independent filenames below
>/usr/lib/llvm-21/lib. Please either move those files to multiarch
>locations or remove the Multi-Arch: same annotations.
Since this bug was opened, the packages named in Helmut's report have
been moved to src:llvm-toolchain-21, and llvm-toolchain-snapshot is now
version 22. llvm-toolchain-20 has also gained a new package,
liboffload-20, which is declared as Multi-Arch: same but actually is
not: all architectures' instances of it contain
/usr/lib/llvm-20/lib/libLLVMOffload.so.20.1, with different contents.
In the short term I think the best answer to this is to remove the
"Multi-Arch: same" field from each package that is not co-installable,
which would allow this RC bug to be closed - but while making sure to
leave "Multi-Arch: same" set on libllvm${VERSION}, to avoid the
equivalent of #1106132 and #1115227.
As a longer-term solution, it would be nice if these packages could
become genuinely "Multi-Arch: same" with no colliding files, as I
requested in #1111182, but that is only a wishlist request and not a RC
bug, and will involve more changes than simply fixing the RC bug. I'll
try to follow up to that wishlist request later.
Because the LLVM packaging has several source packages and bug-fixes in
one of them are not always merged or cherry-picked to the others, I
would suggest that applying equivalent changes to all of the active
branches at around the same time would be a good way to ensure that this
doesn't regress.
I have prepared merge requests for the 20, 21 and snapshot (22)
branches which I believe are correct:
* 20: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/186
(closes: cloned bug -2, I will update the branch to include the bug
number when I have it)
* 21: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/187
(closes: #1101291)
* snapshot: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/188
(closes: cloned bug -3, I will update the branch to include the bug
number when I have it)
Each of these merge requests includes new tests in
debian/qualify-clang.sh similar to the ones that were merged to the 19
branch in
https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/184,
to assert that:
1. libllvm${VERSION} remains M-A: same, avoiding regressions that are
the equivalent of #1106132 and #1115227
2. each package with files in /usr/lib/llvm-${VERSION}, except for
libclang-common-${VERSION}-dev, is *not* M-A: same, avoiding
regressions that are the equivalent of this bug
Please consider applying those changes. I have not done an end-to-end
test of them with a full LLVM build because of the computing resources
required to build LLVM in a clean environment, but I belive they are correct.
This seems to be a recurring regression in the llvm-* family of
packages, so it would be great if the extra checks in
debian/qualify-clang.sh can stop it from regressing again in future.
Thanks,
smcv
More information about the Pkg-llvm-team
mailing list