[PySide] --enable-unicode=ucs4 on Mac fails to import shiboken

Sebastian Wiesner lunaryorn at googlemail.com
Sat Mar 17 11:03:31 CET 2012


Am 16. März 2012 18:19 schrieb Blair Zajac <blair at orcaware.com>:
> On 03/16/2012 02:05 AM, Sebastian Wiesner wrote:
>>
>> Am 15. März 2012 23:19 schrieb Blair Zajac<blair at orcaware.com>:
>>>
>>> For consistency with our Linux distro's, I've built Python 2.7 in
>>> MacPorts using the --enable-unicode=ucs4 flag, but with this flag, the
>>> import fails with:
>>>
>>>  >>>  from PySide import QtGui
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in<module>
>>> ImportError:
>>>
>>> dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PySide/QtGui.so,
>>> 2): Symbol not found: _PyUnicodeUCS2
>>>   Referenced from: /opt/local/lib/libshiboken-python2.7.1.1.dylib
>>>   Expected in: flat namespace
>>>  in /opt/local/lib/libshiboken-python2.7.1.1.dylib
>>>
>>> Any idea why this would be the case?  There's no code in PySide that
>>> explicitly lists PyUnicodeUCS2.
>>
>>
>> UCS2 vs. UCS4 changes the ABI of the CPython library, hence extension
>> modules built against an UCS2 build of CPython will not work in an
>> UCS4 build of CPython and vice versa.
>>
>> Re-build shiboken against the UCS 4 build and everything should work
>> as expected.
>
> Right, I'm aware that you need to recompile everything.  This failure is
> after a complete recompile.  Here are the commands I ran:
>
> $ sudo port uninstall -v --follow-dependents python27
> $ sudo port install -v py27-pyside
>
> And then I get the link error.

Did you make sure that you really used the ports python, and not
accidentally the system python?



More information about the PySide mailing list