[PyKDE] Building SIP + PyQt [3.2rc4] on Mac OS X
Dimitri Papadopoulos
papadopo at remove.shfj.decoy.cea.fr
Fri May 3 03:09:01 BST 2002
Hi,
This is a report on building SIP+PyQt on Mac OS X using the following:
Mac OS X 10.1.3
I understand 10.1 is suggested by Trolltech:
http://www.trolltech.com/developer/platforms/osx.html
December 2001 Mac OS X Developer Tools
SIP 3.2rc4
http://www.riverbankcomputing.co.uk/download/snapshots/sip-3.2rc1.tar.gz
Note that SIP 3.1 has a minor bug that results in a
linker error.
SIP 3.2rc1 and later fix that issue.
I suggest you use SIP 3.2rc4.
PyQt 3.2rc4 for Mac OS X
http://www.riverbankcomputing.co.uk/download/snapshots/PyQt-3.2rc4-Qt-3.0.2-MacX.tar.gz
Note that unfortunately PyQt 3.2rc4 has some problems
described below.
--> Maybe it's best to stick to PyQt 3.2rc2 for now.
Qt/Mac evaluation version
http://www.trolltech.com/products/qt/evaluate.html
Python for Mac OS X
http://fink.sourceforge.net/pdb/package.php/python
There are two versions of Python for Mac OS X:
* the above Python for Mac OS X which can be run
from the command line
* the traditional MacPython that knows nothing of
command lines and UNIX
Because MacPython cannot be called from the command
line and I couldn't even identify a Python executable,
and because PyQt requires the Python executable to be
indetified using the --with-python=FILE option, we
were not able to configure PyQt with MacPython.
See also paragraph "MacOS X command-line interpreter"
on this page:
http://www.cwi.nl/~jack/macpython.html
I suggest you use Python for Mac OS X from Fink.
Here's how to build SIP 3.2rc4:
1) First "configure", depending on how Python is set up:
./configure
./configure --with-python=/sw/bin/python
./configure --with-python=/usr/local/python-2.2.1/bin/python
2) The resulting libtool script in the top-level directory is broken,
probably because of a bug in autoconf. Please find the line beginning
with
archive_cmds="\$nonopt \$(test \\"x\$module\\" = xyes
and change to
archive_cmds="\$nonopt \$(test \"x\$module\" = xyes
If you forget this, the build system will build *.dylib
shared libraries instead of *.so modules or bundles.
3) Then "make".
4) Then "make install". You should probably be root for that. In any
case that's how I work here.
Here's how to build PyQt 3.2rc4:
1) First "configure", depending on how Python and Qt are set up:
./configure -with-qtdir=/usr/local/qt --with-python=/sw/bin/python
2) The resulting libtool script in the top-level directory is broken,
probably because of a bug in autoconf. Please find the line beginning
with
archive_cmds="\$nonopt \$(test \\"x\$module\\" = xyes
and change to
archive_cmds="\$nonopt \$(test \"x\$module\" = xyes
If you forget this, the build system will build *.dylib
shared libraries instead of *.so modules or bundles.
3) Then "make".
You'll see warnings of the kind described in
http://mats.gmd.de/pipermail/pykde/2002-April/002540.html
http://mats.gmd.de/pipermail/pykde/2002-April/002555.html
and end with:
cpp-precomp: warning: errors during smart preprocessing,
retrying in basic mode
These warnings can be safely ignored. They're the result of
a harmless compiler bug:
http://www.wxwindows.org/faqmac.htm#smarterrors
4) Then "make install". You should probably be root for that. In any
case that's how I work here.
This will fail and I have no clue for now. It appears that static
libraries are created instead of modules (bundles) so the test
scripts that "import qt" fail:
$ ls PyQt-3.2rc4/.libs:
libqtcmodule.a libqtcmodule.la@ libqtcmodule.lai
5) Using PyQt 3.2rc2 is probably the easiest way to have PyQT up and
running for now.
More information about the PyQt
mailing list