[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