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

Sebastian Wiesner lunaryorn at googlemail.com
Fri Mar 16 10:05:14 CET 2012


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.



More information about the PySide mailing list