[PyQt] Undefined "typeinfo" for KDEDModule while trying to create PtKF5

Shaheed Haque srhaque at theiet.org
Sat Apr 9 16:43:37 BST 2016


[ repost after subscribing, apologies for any dupes ]

Hi,

I'm trying to revive the Python bindings for KDE, starting with KF5.
I'm having some difficulty with the code generated by the SIP compiler
in that the compiled code cannot b loaded by Python because of errors
like this:

>>> import KDBusAddons
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: ./KDBusAddons.so: undefined symbol: _ZTI10KDEDModule

And sure enough, if I check the .so file, I see, amongst quite a few other Us:

$ nm -C KDBusAddons.so | grep ' U '
...
                 U typeinfo for KDEDModule
                 U typeinfo for KDBusService
                 U typeinfo for KDBusInterProcessLock
...

Now my C++ is rather old school and rusty, but having spent a bit of
time with Google, it seems that I am somehow causing the RTTI support
not to be generated. Various threads have pointed to the need to
ensure virtual functions are defined or declared pure and so forth,
but having tried a few things, I'm rather stuck. I would be most
grateful for any help on this.

FWIW:

- I am using SIP 4.16 on Ubuntu Wily.
- I have generated the SIP bindings by running a new clang-based tool
on the KF5 header files
- I am using the KF5 header files from Wily.
- The only code I have locally is the "pykde5.git" repo with my code.

Thanks, Shaheed

P.S. I can provide any code needed, or indeed explain how to use the
stuff I have pushed to the KDE repos, if that is needed.


More information about the PyQt mailing list