Bug#1116211: libunwind: binary package for LLVM libunwind is confusingly named, should probably be libunwind1
Simon McVittie
smcv at debian.org
Wed Sep 24 12:04:20 BST 2025
Source: llvm-toolchain-20
Version: 1:20.1.8-1~exp1
Severity: normal
X-Debbugs-Cc: libunwind-dev at packages.debian.org, Andres Salomon <dilinger at debian.org>
Control: affects -1 src:libunwind
We have two things named libunwind in debian:
1. src:libunwind
upstream: https://github.com/libunwind/libunwind
SONAME: currently libunwind.so.8
libdevel: libunwind-dev
libs: libunwind8 (as per Policy §8.1)
2. The libunwind provided by LLVM
upstream: https://github.com/llvm/llvm-project
SONAME: currently libunwind.so.1
libdevel: libunwind-{19,20,21,22}-dev
libs: libunwind-{19,21,22}
libs: libunwind (no suffix) from src:llvm-toolchain-20 since 1:20.1.8-1~exp1
It seems very confusing that "libunwind" as a source package name is
the independent libunwind, but "libunwind" as a *binary* package name is
LLVM's libunwind. In particular this confuses the bug tracking system
(https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=libunwind
says that "Maintainers for libunwind are LLVM Packaging Team
<pkg-llvm-team at lists.alioth.debian.org>" which is not actually a true
fact about src:libunwind) and can easily confuse bug submitters too (for
example the nmudiff #1093709 was sent to the wrong package).
Because LLVM's libunwind has SONAME libunwind.so.1, I would suggest
giving it its Policy-compliant binary package name, libunwind1, as per
Policy §8.1
(https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#run-time-shared-libraries),
which would reduce confusion with the other libunwind. It currently
only exists in experimental, so this shouldn't have a problematic
binary-compatibility impact yet.
Unfortunately this will require another trip through the NEW queue.
If there are any other libraries in LLVM whose binary package names do not
match their SONAMEs, going through NEW for libunwind1 could be a good
opportunity to fix those up too.
(If the LLVM upstream maintainers ever bump the SONAME of their
libunwind, presumably to libunwind.so.2, then the binary package would
need a rename for that *anyway* for the reasons given in Policy §8.1 -
although it would perhaps be more helpful if they could be encouraged to
name it something more like libllvm-unwind.so.* next time there is a
compatibility break, to avoid confusion with the other libunwind.)
smcv
More information about the Pkg-llvm-team
mailing list