minitage, python and UCS

While upgrading my gentoo based laptop after 8monthes of lazy abandonness in profit of exiting projects, i saw that the gentoo's python was forced to use UCS==4.

What an heck while dealing with the 'minitage env' file which mix the system and project environment resulting in a mixin of the system and project python.

Normally, there are no problem, unless your pythons come with different UCS flavors.

Cool thing is that those errors are not silent, and you see them if you are hitted by this flaw :

    ImportError: /bar.egg/module/_foo.so: undefined symbol: PyUnicodeUCS4_DecodeUTF8
or  
    ImportError: /bar.egg/module/_foo.so: undefined symbol: PyUnicodeUCS2_DecodeUTF8

 

Making some searches showed me that upstream as in python-dev supports only UCS2 by default (issue discussed on their mailing around 2008) but all distros i am aware of package their distros with UCS==4.

For now, I prefered to stick with upstream (UCS==2), but i think that for the user experience, UCS==4 will be better.

Sad thing is that for existing minitage installations if you want to rebuild your python, do also that:

rm -rf minitage/eggs/cache/*-Major.minor*egg
rm -rf minitage/eggs/*/.installed.cfg

To let minitage rebuild any stuff using UCS2.

 

See http://en.wikipedia.org/wiki/Universal_Character_Set for reference on UCS.

Aucun vote pour l'instant.