[PyQt] Symbol not found: _sipQtConnect (Qt5 and PyQt 4.10 on OSX, 32 bit)
Phil Thompson
phil at riverbankcomputing.com
Sun Mar 17 22:18:18 GMT 2013
On Mon, 18 Mar 2013 08:17:18 +1300, Glenn Ramsey <gr at componic.co.nz>
wrote:
> On 16/03/13 21:56, Phil Thompson wrote:
>> On Sat, 16 Mar 2013 14:16:08 +1300, Glenn Ramsey <gr at componic.co.nz>
>> wrote:
>>> On 15/03/13 22:07, Phil Thompson wrote:
>>>> On Fri, 15 Mar 2013 15:51:00 +1300, Glenn Ramsey <gr at componic.co.nz>
>>>> wrote:
>>>>> Hi,
>>>>>
>>>>> I have built a 32 bit version of PyQt on OSX (10.8.2) using Qt5, but
>> it
>>>>> doesn't
>>>>> work:
>
>> Make sure the qpy libraries are being built as you expect (ie. 32 bits
>> rather than 64), ie. that your change to macx-clang-32 is being applied
>> to
>> everything.
>>
> > Phil
> >
>
> Thanks Phil, that does appear to be the problem. QtCore is being built
as
> 64
> bit, everything else as 32 bit (this is in a freshly untarred dir):
>
> $find . -name '*.o' | xargs file
>
> ./pylupdate/fetchtr.o:
> Mach-O object i386
> ./pylupdate/main.o:
> Mach-O object i386
> ./pylupdate/merge.o:
> Mach-O object i386
> ./pylupdate/metatranslator.o:
> Mach-O object i386
> ./pylupdate/moc_translator.o:
> Mach-O object i386
> ./pylupdate/numberh.o:
> Mach-O object i386
> ./pylupdate/proparser.o:
> Mach-O object i386
> ./pylupdate/sametexth.o:
> Mach-O object i386
> ./pylupdate/simtexth.o:
> Mach-O object i386
> ./pylupdate/translator.o:
> Mach-O object i386
> ./pyrcc/main.o:
> Mach-O object i386
> ./pyrcc/rcc.o:
> Mach-O object i386
> ./qpy/QtCore/moc_qpycore_pyqtproxy.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_chimera.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_chimera_signature.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_chimera_storage.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_classinfo.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_init.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_misc.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_post_init.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtboundsignal.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtconfigure.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtmethodproxy.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtproperty.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtproxy.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtpyobject.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtsignal.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_pyqtslot.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qabstracteventdispatcher.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qmetaobject.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qmetaobject_helpers.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qobject_getattr.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qobject_helpers.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qpynullvariant.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qstring.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qstringlist.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qvariant.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_qvariant_value.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_sip_helpers.o:
> Mach-O 64-bit object
> ./qpy/QtCore/qpycore_types.o:
> Mach-O 64-bit object
> ./qpy/QtGui/moc_qpytextobject.o:
> Mach-O 64-bit object
> ./qpy/QtOpenGL/qpyopengl_attribute_array.o:
> Mach-O 64-bit object
> ./qpy/QtOpenGL/qpyopengl_uniform_value_array.o:
> Mach-O 64-bit object
> ./Qt/sipQtcmodule.o:
> Mach-O object i386
> ./QtCore/sipQtCorecmodule.o:
> Mach-O object i386
> ----8<----
>
> What do I need to do to fix it?
>
> Glenn
As we are talking hacks here anyway...
Edit your installed sipconfig.py and change the value of 'platform' in
_pkg_config to 'macx-clang-32'. Then back out all your related changes to
PyQt's configure.py.
In PyQt's new build system (4.10.1 hopefully) you will just be able to
pass --spec macx-clang-32 to its configure.py.
Phil
More information about the PyQt
mailing list