[PyKDE] Help needed with SIP

gvermeul at labs.polycnrs-gre.fr gvermeul at labs.polycnrs-gre.fr
Tue Aug 21 23:30:59 BST 2001


Hello Jon,

> Hello Gerard
> 
> I finally got it working last night.
> 
> In fact the real problem was solved when you said to do -fno-rtti (the __ti3CCC error).
Mandrake 8 needs this.
> 

Great, but I don't believe your statement about -fno-rtti very much (sorry).
Disappearence of the __ti3CCC error was related to running moc on my
system.

Please, could you return me a favor?

Get ftp://old-labs.polycnrs-gre.fr/pub/SAS/Vermeulen/PyMMM-0.0.1.tar.gz and
try to see if it builds and if you can run the program in the examples directory. (The
README.txt explains how to patch Python-2.1.1/distutils).

It will help me to release the next version of PyQwt (python bindings for
the Scientific and Engineering -- fast plotting of NumPy arrays -- Qwt
Library, see http://gerard.vermeulen.free.fr ) with distutils.

All you have to do is unpack the tar.gz, add one line to
/usr/lib/python2.1/distutils/unixccompiler (I think that the the preprocess()
function has never been used or tested and it has not implemented for MicroSoft
Visual C), type

python setup build_ext
python examples/xmmm.py

and tell me if it works.

The advantages of distutils with respect to automake/autoconf/libtool are
(1) smaller *.tar.gz archives (PyQwt would go from 250 kbyte to less than
100 kbyte -- the Gnu utilities eat a lot of disk space)
(2) smaller library size -- don't know why -- but PyQwt goes down from about
200 kbyte to 100 kbyte
(3) easier to program -- distutils feels still a little bit rough (it is clear
that nobody used the preprocess function), but is certainly easier to
understand than automake/autoconf/libtool.
(4) tell your friends that you are using something better (simpler!) than
the Gnu setup tools.

I have still another question related to my posting on sip-generated code,
that does not compile.
I encountered the same problem with your CCC class. Are you using sip-2.5?
I mean, really 2.5 and not 2.5preX. Please check with sip -V.
Because, I had to post-process the sip-generated code (done automatically
by setup.py) to make it compile.

CAVEAT-1: PyMMM-0.0.1.tar.gz requires sip-2.5.
CAVEAT-2: the link to PyMMM-0.0.1.tar.gz stays alive untill this weekend
('sas' is a french word for airlock, and pub/SAS gets wiped weekly).

  
> The remaining problem (the metaObject error) was that I was not running moc on CCC.cpp
but
I was so tied up with the sip problems that it took a while to realise this.
> 
> What I finally did (again at your suggestion) is build the CCC class separately into a
shared library and then link with my sip bindings and everything sprang into life.
> 
> Wonderful...
>
setup.py also handles the case if CCC is not part of a shared library.

Thanks in advance -- Gerard


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






More information about the PyQt mailing list