* Alan W. Irwin <ir...@beluga.phys.uvic.ca>, 2010-07-21, 18:40:
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)
[...]

This is intentional. Python extensions use symbols provided by
/usr/bin/pythonX.Y, but they are not supposed to be linked with libpythonX.Y.

Hi Jakub:

Thanks for your quick response.

I am pretty sure I have analyzed pyqt4 extensions before for Debian
Lenny with ldd -r with no undefined symbols showing up.  Therefore,
(if I am remembering that old behaviour correctly) this appears to be
a change in behaviour for what was done for Debian Lenny. If so, I am
curious about the motivation for this change.

No, lenny's python-qt4 extensions are not linked with libpythonX.Y either.

At run time for a pyqt4 example for PLplot, I am getting the following
error:

Traceback (most recent call last):
 File
"/home/software/plplot_svn/HEAD/build_dir/examples/python/pyqt4_example.py",
line 33, in <module>
   import plplot_pyqt4
   ImportError: /usr/lib/pymodules/python2.6/PyQt4/QtCore.so:
undefined symbol: _ZN10QTextCodec11validCodecsEv

The "ldd -r" command shows there are no undefined symbols with
plplot_pyqt4.so.  So I started looking at the pyqt4 modules and I
found the following:

softw...@raven> ldd -r /usr/lib/pymodules/python2.6/PyQt4/QtCore.so
2>&1 |grep -i codec
undefined symbol: _ZN10QTextCodec11validCodecsEv
(/usr/lib/pymodules/python2.6/PyQt4/QtCore.so)

Now, *this* looks like a real bug, but it has nothing to do with linking to libpythonX.Y.

--
Jakub Wilk

Attachment: signature.asc
Description: Digital signature

Reply via email to