[PyKDE] PyKDE Link Problem

Jim Bublitz jbublitz at nwinternet.com
Wed Aug 21 08:04:01 BST 2002


I have a PyKDE upgrade to KDE 3.0.3 mostly done, but am stuck on
one problem. The kjs module builds and links, but any attempt to
import it results in:

ImportError: /usr/lib/python2.2/site-packages/libkjscmodule.so:
   undefined symbol: __tiQ23KJS8ValueImp

It turns out that KDE's libkjs.so has a symbol:

        __tfQ23KJS8ValueImp

while PyKDE's libkjscmodule.so is looking for:

        __tiQ23KJS8ValueImp

I believe these correspond to the ValueImp constructor. ValueImp is
an abstract base class, and is a base type for other classes in the
module, so it's fairly difficult to ignore and still have the
module anywhere near complete.

Anyone know what the difference between __ti and __tf is and why it
occurs? I've rebuilt the kdelibs (SuSE stripped the symbols from
their rpm kdelibs :( ) but still get the same behaviour (same
gcc/ld for KDE/PyKDE). There doesn't appear to be anything unusual
in the KDE link. KDE 3.0.0 has the same symbol in it's libkjs, but
as far as I know PyKDE's kjs module works fine with KDE 3.0.0. I'd
appreciate it if anyone running PyKDE on KDE 3.0.x could do:

        python -c 'import kjs'

and let me know if it throws an error. It would be interesting to
know, for example, if it works with RH/gcc2.96 but not gcc2.95.

That brings up another question: is anyone using the kjs module? Put
another way: would anyone miss it?

Otherwise, watch for the KDE 3.0.3 upgrade (perhaps minus a working
kjs) in a few days. It'll be PyKDE-3.3.2-3. The only other change
will be a PyKDE wrapper for pyuic and a README.pyuic covering stuff
on this list related to pyuic and PyKDE.

Jim




More information about the PyQt mailing list