* Nico Schlömer <[email protected]>, 2014-03-17, 15:49:
I'm building a package with Python support and would like to reduce the
number of warnings that dh_python2 gives me.
One of them is
public extension linked with libpython2.7
for a number of libraries. It is true that libpython2.7 is linked into
them,
$ readelf -d /path/to/_ML.so
[...]
0x0000000000000001 (NEEDED) Shared library: [libpython2.7.so.1.0]
[...]
but when I don't, builds with "-Wl,-no-undefined" will fail.
What is the reason for discouraging explicit links with libpython*?
The fundamental reason is that, except in unusual circumstances, this
library won't be used. Python Policy §2.1 reads: “some distributions
link extensions to libpython, but this is not the case in Debian as
symbols might as well be resolved by ‘/usr/bin/python<X>.<Y>’ which is
not linked to libpython.”
In the past there used to be also a strong practical reason against
linking to libpython: every ELF dependency on libpython2.X was
translated by dpkg-shlibdeps to package dependency on python2.X, which
typically meant that your package ended up depending on multiple
different Python versions. But theses days there's only one supported
Python (2.X) version, so this is not such a big deal.
BTW, there's a greater chance to meet a Python expert on debian-python@
than here. :-P
--
Jakub Wilk
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]