On Jul 31, 2006, at 11:41 AM, Martijn Faassen wrote:
I just found out that there is a hidden incompatibility in the compiled versions of lxml eggs we provide, at least in linux. Our provided versions are compiled with a Python that has 4 bytes unicode support (probably the default on ubuntu on which I built the 2.4 extension).
Noticed that last week, too. Sorry I forgot to mention it over there.
If you try to install such an egg on a machine where unicode support is compiled with 2 bytes only, it'll fail with errors such as:
ImportError: /usr/local/lib/python2.4/site-packages/lxml-1.0.2-py2.4-linux- i686.egg/lxml/etree.so: undefined symbol: PyUnicodeUCS4_FromEncodedObject
I wonder whether there's anything within the egg distribution mechanism that lets us distinguish between such platforms. If not, I wonder what to do instead -- the simplest would be to add a FAQ entry and tell people to recompile from the sources.
As far as I know, this is typical of the Ubuntu distribution, and I'm 100% sure this egg was laid from Ubuntu. If the egg system could make a difference between distributions, it would be ok, imho.
Charset problems are a plague.
By the way, does Pyrex generate different C code depending on whether 4 or 2 byte unicode is used? If so, then that would mean an installation of pyrex as well for these people...
I tried to compile from source on Mandriva, and it failed. I had no time to investigate (low priority for the task I was working on), it could very well have been something very trivial.
--------- Georges Racinet Nuxeo SAS firstname.lastname@example.org http://nuxeo.com Tel: +33 (0) 1 40 33 71 73