[PyKDE] Runtimeerror with pyKDE 3.8.0 on SuSE 9.0
Jim Bublitz
jbublitz at nwinternet.com
Wed Mar 10 19:19:01 GMT 2004
On Wednesday March 10 2004 06:10, Jakobi Mikrobi wrote:
> I compiled pyKDE 3.8.0 on SuSE Linux 9.0 without any errors.
> After running "python importTest.py" the following text is
> displayed:
>
> Testing PyKDE module imports
>
> dcop
> kdecore
> Traceback (most recent call last):
> File "importTest.py", line 7, in ?
> exec ("import " + mod)
> File "<string>", line 1, in ?
> File "/usr/lib/python2.3/site-packages/kdecore.py", line
> 35, in ? import libkdecorec
> ImportError:
> /usr/lib/python2.3/site-packages/libkdecorecmodule.so:
> undefined symbol: _ZN19KAcceleratorManager6manageEP7QWidget
>
>
> Is there a way of fixing this problem?
In the kdelibs sources I have (from kde.org) beginning with KDE
3.1.3, kaccelmanager.[h, cpp] appear in both kdecore and kdeui.
sip won't accept the symbols in both modules (since kdeui
imports kdecore), so I made the choice to include it only in
kdecore. Apparently some (or all?) distributions include it only
in libkdeui, so all of its symbols will be undefined in the
PyKDE kdecore module.
The solution (which appears to work in all cases) is to delete
kaccelmanager.sip from the kdecore-kde3*.sip files and add it to
the kdeui-kde3*.sip files. The line to be deleted/added is:
%Include kaccelmanager.sip
in each case. You then need to rebuild and recompile PyKDE. It's
only necessary to modify the kdecore-kde3*.sip and
kdeui-kde3*.sup files that correspond to the version of KDE
you're compiling against. The files are in the sip/ directory.
For SuSE 9.0 you probably want to modify kdeui-kde314.sip and
kdecore-314.sip (I believe it shipped with KDE 3.1.4)
Jim
More information about the PyQt
mailing list