[lxml-dev] lxml and binary eggs on Linux

Martijn Faassen faassen at startifact.com
Tue Apr 24 15:02:10 CEST 2007


Hi there,

In the past we've been in the habit of providing binary eggs for lxml on 
Linux. We've been less diligent about this recently, which is actually a 
good thing. I would in fact ask everybody to stop uploading binary eggs 
for Linux, and only do so for Windows.

Why?

Python interpreters on the Linux world are compiled with different 
options. Prominent here is UCS2 versus UCS4 for the internal unicode 
encoding. An egg compiled for a UCS4 python doesn't work on a UCS2 
python and vice versa. There are other potential issues, such as the 
location of various shared libraries that might differ per platform.

Uploading a binary egg means that we risk making life worse for some 
users, as they'll be stuck with a non-working egg. If we only upload the 
source (including the generated C code), lxml will compile and install 
itself and this should be reliable on all Linux boxes.

This does however mean that people need to install the libxml2 and 
libxslt headers on their system (libxml2-dev and libxstl-dev on 
debian/ubuntu), otherwise the compile would fail. It would also mean we 
need to modify our installation instructions.

Unfortunately I don't see any other way to make lxml installation more 
reliable on Linux, though.

On Windows, because nobody has a compiler and the platform is more 
uniform (practically everybody runs the same compiled version of 
Python), we don't have this problem. In fact we have the problem that 
nobody has a compiler, so we certainly need to continue uploading the 
binary eggs.

Comments?

Regards,

Martijn



More information about the lxml-dev mailing list