[Python-modules-team] Bug#589893: python-qt4: has bad linking for shared objects
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Wed Jul 21 23:37:12 UTC 2010
Package: python-qt4
Version: 4.7.3-1+b1
Severity: important
Tags: patch
If you run, e.g.,
ldd -r /usr/lib/pyshared/python2.6/PyQt4/Qt.so
You obtain the following (abbreviated) results:
linux-vdso.so.1 => (0x00007fffcc7ff000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007f9d75e91000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9d75b7d000)
libm.so.6 => /lib/libm.so.6 (0x00007f9d758fa000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f9d756e4000)
libc.so.6 => /lib/libc.so.6 (0x00007f9d75383000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f9d75166000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f9d74f4f000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f9d74d4b000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f9d74b46000)
librt.so.1 => /lib/librt.so.1 (0x00007f9d7493e000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f9d74662000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9d7675b000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00007f9d74432000)
undefined symbol: PyProperty_Type (/usr/lib/pyshared/python2.6/PyQt4/QtCore.so)
undefined symbol: PyType_GenericNew (/usr/lib/pyshared/python2.6/PyQt4/QtCore.so)
undefined symbol: PyBool_Type (/usr/lib/pyshared/python2.6/PyQt4/QtCore.so)
undefined symbol: PyExc_ValueError (/usr/lib/pyshared/python2.6/PyQt4/QtCore.so)
undefined symbol: PyExc_SystemError (/usr/lib/pyshared/python2.6/PyQt4/QtCore.so)
[...]
Note, the list of libraries says nothing about python, and all the
missing symbols seem to have a "Py" prefix. There is similar undefined
symbol problems
for all other shared objects in that directory that I checked.
>From this evidence I guessed that the -lpython2.6 flag was missing
from the build. Accordingly I used apt-src to build the package, and
captured the link step for the above shared object and changed
that command to append -lpython2.6, and indeed that change fixes the
issue.
N.B. I assumed that I could add a patch to add the missing
-lpython<version> flag, but that turned out to be more difficult than
I initially thought so despite the above tag, I currently have no
patch for this issue.
N.B. this undefined symbol issue kills my build of a pyqt4 module
which actually needed one of those missing symbols so I judged this to
be an important issue.
Alan W. Irwin
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages python-qt4 depends on:
ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib
ii libgcc1 1:4.4.4-6 GCC support library
ii libpython2.6 2.6.5+20100706-1 Shared Python runtime library (ver
ii libqt4-assistant 4:4.6.3-1 Qt 4 assistant module
ii libqt4-designer 4:4.6.3-1 Qt 4 designer module
ii libqt4-help 4:4.6.3-1 Qt 4 help module
ii libqt4-network 4:4.6.3-1 Qt 4 network module
ii libqt4-script 4:4.6.3-1 Qt 4 script module
ii libqt4-scripttools 4:4.6.3-1 Qt 4 script tools module
ii libqt4-svg 4:4.6.3-1 Qt 4 SVG module
ii libqt4-test 4:4.6.3-1 Qt 4 test module
ii libqt4-webkit 4:4.6.3-1 Qt 4 WebKit module
ii libqt4-xml 4:4.6.3-1 Qt 4 XML module
ii libqt4-xmlpatterns 4:4.6.3-1 Qt 4 XML patterns module
ii libqtcore4 4:4.6.3-1 Qt 4 core module
ii libqtgui4 4:4.6.3-1 Qt 4 GUI module
ii libstdc++6 4.4.4-6 The GNU Standard C++ Library v3
ii python 2.6.5-5 An interactive high-level object-o
ii python-sip [sip-api-7.1 4.10.2-1 Python/C++ bindings generator runt
ii python-support 1.0.9 automated rebuilding support for P
python-qt4 recommends no packages.
Versions of packages python-qt4 suggests:
pn python-qt4-dbg <none> (no description available)
-- no debconf information
More information about the Python-modules-team
mailing list