[PyQt] Symbol not found: _sipQtConnect (Qt5 and PyQt 4.10 on OSX, 32 bit)

Glenn Ramsey gr at componic.co.nz
Mon Mar 18 07:59:46 GMT 2013


On 18/03/13 17:38, Phil Thompson wrote:
> On Mon, 18 Mar 2013 13:36:51 +1300, Glenn Ramsey <gr at componic.co.nz>
> wrote:
>> On 18/03/13 11:18, Phil Thompson wrote:
>>> 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
>>
>>>> ./qpy/QtCore/moc_qpycore_pyqtproxy.o:
>>>> Mach-O 64-bit object
>>
>>>> ----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
>>>
>>
>> It is already set to that.
>>
>> $ more
>>
> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sipconfig.py
>>
>> ...
>> # These are installation specific values created when SIP was
> configured.
>> _pkg_config = {
>>       'arch':               'i386',
>>       'default_bin_dir':
>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin',
>>       'default_mod_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
>>       'default_sip_dir':
>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/sip',
>>       'deployment_target':  '',
>>       'platform':           'macx-clang-32',
>>       'py_conf_inc_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
>>       'py_inc_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
>>       'py_lib_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config',
>>       'py_version':         0x020703,
>>       'sip_bin':
>> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/sip',
>>       'sip_config_args':    '--arch i386 --platform macx-clang-32',
>>       'sip_inc_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7',
>>       'sip_mod_dir':
>>
> '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
>>       'sip_version':        0x040e04,
>>       'sip_version_str':    '4.14.4',
>>       'universal':          ''
>> }
>> ...
>
> In your original report you stated that sip was built with just '--arch
> i386'. '--platform macx-clang-32' is not supported and configure.py will
> generate an error message if used, so I don't see how that configuration
> could be created.

Oops, yes, sorry for forgetting about that. It did give an error so I copied the 
spec from Qt5. I thought I had backed that out, but obviously I didn't.

> With a clean PyQt, set the QMAKESPEC environment variable to macx-clang-32
> and then run configure.py. That works for me.
>
> Phil

That works for me too, thanks!

Cheers
Glenn



More information about the PyQt mailing list