[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