[PyQt] Building multiarch on Mac OS X

Jeremy Sanders jeremy at jeremysanders.net
Thu Feb 21 18:58:35 GMT 2013


I'm trying to build PyQt in Mac OS X 10.7.5, using i386/x86_64 and a 
minimum OS version of 10.6.

I've rebuilt Qt to use i386 and x86_64. I've configured PyQt 4.9.6 like 
this:

$ python configure.py -c -j 3  CFLAGS+='-mmacosx-version-min=10.6 -arch 
i386 -arch x86_64 '  CXXFLAGS+='-mmacosx-version-min=10.6 -arch i386 
-arch x86_64' LFLAGS+='-mmacosx-version-min=10.6 -arch i386 -arch x86_64'

I'm finding some warnings, which appear to indicate that both 
architectures are not being created for the qpy files:

g++ -headerpad_max_install_names -mmacosx-version-min=10.6 -arch i386 
-arch x86_64 -bundle -undefined dynamic_lookup -o QtCore.so 
sipQtCorepart0.o sipQtCorepart1.o sipQtCorepart2.o 
-F/Users/jss/PyQt-mac-gpl-4.9.6/qpy/QtCore 
-L/Users/jss/PyQt-mac-gpl-4.9.6/qpy/QtCore 
-F/usr/local/Trolltech/Qt-4.8.4/lib -L/usr/local/Trolltech/Qt-4.8.4/lib 
-lqpycore -framework QtCore -L/usr/local/Trolltech/Qt-4.8.4/lib 
-L/usr/local/Trolltech/Qt-4.8.4/lib
ld: warning: ignoring file 
/Users/jss/PyQt-mac-gpl-4.9.6/qpy/QtCore/libqpycore.a, file was built 
for archive which is not the architecture being linked (i386)

It looks like the qpy libraries are only build with the default 
architecture, e.g.:

g++ -c -pipe -fno-strict-aliasing -O2 -fPIC -Wall -W 
-DQT_DISABLE_DEPRECATED_BEFORE=0x040900 -DQT_NO_DEBUG -DQT_GUI_LIB 
-DQT_CORE_LIB -DQT_SHARED 
-I/usr/local/Trolltech/Qt-4.8.4/mkspecs/macx-g++ -I. 
-I/usr/local/Trolltech/Qt-4.8.4/lib/QtCore.framework/Versions/4/Headers 
-I/usr/local/Trolltech/Qt-4.8.4/include/QtCore 
-I/usr/local/Trolltech/Qt-4.8.4/lib/QtGui.framework/Versions/4/Headers 
-I/usr/local/Trolltech/Qt-4.8.4/include/QtGui 
-I/usr/local/Trolltech/Qt-4.8.4/include 
-I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 
-I../../QtCore -I. -I. -F/usr/local/Trolltech/Qt-4.8.4/lib -o 
moc_qpycore_pyqtproxy.o moc_qpycore_pyqtproxy.cpp

I assume that this is a problem? Is there any way to fix it without 
hacking all the qpy files?

Best wishes

Jeremy Sanders.


More information about the PyQt mailing list