[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: warning: symbol PyLong_FromUnsignedLong...



* Mathieu Malaterre <malat@debian.org>, 2012-04-11, 17:43:
[CC me please]

[done]

dpkg-shlibdeps: warning:
debian/python-gdcm/usr/lib/python2.7/dist-packages/_gdcmswig.so
contains an unresolvable reference to symbol PyObject_IsTrue: it's
probably a plugin.
dpkg-shlibdeps: warning: 86 other similar warnings have been skipped
(use -v to see them all).

This one is easy. _gdcmswig.so has a SONAME. This is unusual (and almost always unnecessary) for Python extension modules and confuses dpkg-shlibdeps. Quoting the manual page: “The indicated symbol has not been found in the libraries linked with the binary. The binary is most likely a plugin and the symbol is probably provided by the program that loads this plugin. In theory a plugin doesn't have any SONAME but this binary does have one and as such it could not be clearly identified as such. However the fact that the binary is stored in a non-public directory is a strong indication that's it's not a normal shared library.”

Get rid of the SONAME and they'll go away.

dpkg-shlibdeps: warning: Can't extract name and version from library
name `libKitware.mummy.Runtime.Unmanaged.so'
dpkg-shlibdeps: warning: Can't extract name and version from library
name `libKitware.mummy.Runtime.Unmanaged.so'

I suppose these are about CLI stuff, not about Python stuff.

dpkg-shlibdeps: warning: symbol PyLong_FromUnsignedLong used by
debian/python-vtkgdcm/usr/lib/libvtkgdcmPythonD.so found in none of
the libraries.
dpkg-shlibdeps: warning: symbol Py_InitModule4 used by
debian/python-vtkgdcm/usr/lib/libvtkgdcmPythonD.so found in none of
the libraries.

What is the purpose of this library? I see that package-name-doesnt-match-sonames and shlib-without-versioned-soname were overridden without a comment.

It doesn't directly address your problem, but:
- If it's a general-purposed library that is supposed to be used by other packages, then it should be versioned, put into a package with versioned name, and linked to all the libraries it uses symbols from.
- Otherwise, it should be moved to a private directory.

--
Jakub Wilk


Reply to: