[PyKDE] Help needed with SIP

gvermeul at labs.polycnrs-gre.fr gvermeul at labs.polycnrs-gre.fr
Sun Aug 19 17:31:46 BST 2001


> Hello 
> 
> Thanks for the help Gerard. 
> 
> I added:
> 
> MMM_SOURCE = \
>     CCC.cpp \
>     $S \
>     MMM.py
> 
> as suggested but get the same error:

Did you generate a new Makefile.am, Makefile.in and Makefile (you
have a ./configure script, I suppose?)
The link step in the Makefile is unreadable. But if you rerun make,
the one of the last steps should show something like

gcc -shared CCC.lo CCCcmodule.lo ... 

CCC.lo should probably come first in a list of *.lo files.
If not, please show the output from this step.

Running your undefined symbol through c++filt (part of binutils) shows:

[packer at voyager packer]$ c++filt __ti3CCC
CCC type_info node

indicating that you compiled with runtime type information enabled (-frtti)
No problem, if it is done CONSISTINGLY (also your Qt libraries!).

The CCC type_info node should be in CCC.o, try
strings CCC.lo
or
strings CCC.lo | grep ti3CCC

> 
> Traceback (most recent call last):
>   File "MMM.py", line 6, in ?
>     import libMMMc
> ImportError: /usr/lib/python2.1/site-packages/libMMMcmodule.so: undefined symbol:
__ti3CCC

> 
> I changed to libtool 1.4 because someone said it might help. With libtool version 1.3.5
I
get the following error:
> 
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "/usr/lib/python2.1/site-packages/MMM.py", line 6, in ?
>     import libMMMc
> ImportError: /usr/lib/python2.1/site-packages/libMMMcmodule.so: undefined symbol:
sipName_qt_destroyed
> 
> So Im still stuck.
> 

Go back to libtool-1.4. I am using that, but with precaution:
Do you have /usr/lib/python2.1/site-packages/libqtcmodule*.la file?
It is human readable, you see that it imposes a linking order.
Delete it!
Also /usr/lib/libsip*.la (all lib*.la files linking C++ code and having
todo something with PyQt and imposing a linking order on C++ libraries).

Gerard Vermeulen


---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/






More information about the PyQt mailing list