#1145418 python3.14: does not ship libpython3.so (stable ABI library)

Package:
python3.14
Source:
python3.14
Description:
Interactive high-level object-oriented language (version 3.14)
Submitter:
Patryk Sondej
Date:
2026-08-25 07:13:01 UTC
Severity:
normal
#1145418#5
Date:
2026-08-24 19:47:53 UTC
From:
To:
Debian does not ship /usr/lib/<triplet>/libpython3.so, the unversioned
stable
ABI library that lets Py_LIMITED_API code link with -lpython3 and survive a
minor version bump. Same in trixie (python3.13 3.13.5-2+deb13u4).

debian/rules:891 runs "make install" from $(buildd_static), which has no
--enable-shared, so PY3LIBRARY is empty there. The shared tree does build
the
file, but only libpython3.14.so.1.0 (rules:961) and libpython3.14-pic.a
(rules:1069) are copied out of it. I am not suggesting with_interp be
changed.

The unversioned pkg-config files are already handled this way:
libpython3-dev
(python3-defaults) ships python3.pc and python3-embed.pc as symlinks to the
versioned ones. libpython3.so has no equivalent.

Fedora, Arch, Alpine, openSUSE and nixpkgs all ship it.

Suggested fix, mirroring pkg-config: python3.X installs the stub under a
versioned path, python3-defaults symlinks /usr/lib/<triplet>/libpython3.so
to
the default version's copy. It has to point at the stub, not at
libpython3.14.so.1.0, whose SONAME would pin the version in DT_NEEDED.

#1145418#10
Date:
2026-08-25 07:11:34 UTC
From:
To:
Hi Patryk (2026.08.24_19:47:53_+0000)

That's a good point, I'll look into it, thanks.

I wasn't aware of the existance of this interface.

Stefano