[PySide] --enable-unicode=ucs4 on Mac fails to import shiboken
Blair Zajac
blair at orcaware.com
Fri Mar 16 18:19:26 CET 2012
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.
Blair
More information about the PySide
mailing list