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.