According to this:
http://codespeak.net/lxml/build.html

we should avoid installing Cython

but using easy_install to build fails saying the cython generated file is missing

I tried to build from source (svn checkout) and had the same issue

Last Changed Author: scoder
Last Changed Rev: 78186
Last Changed Date: 2010-10-21 13:48:54 -0400 (Thu, 21 Oct 2010)


so I install cython anyway

and try to compile the source, this also fails :

Error converting Pyrex file to C:
------------------------------------------------------------
...
        c_child = _findChildForwards(c_node, 0)
        while c_child is not NULL:
            if c_child.type == tree.XML_ELEMENT_NODE:
                for i in range(c_tag_count):
                    if _tagMatchesExactly(c_child, c_ns_tags[2*i], c_ns_tags[2*i+1]):
                        c_next = _findChildForwards(c_child, 0) or _nextElement(c_child)
                                                               ^
------------------------------------------------------------

/home/crucial/tmp/lxml/src/lxml/cleanup.pxi:246:64: Cannot assign type 'int' to 'xmlNode *'
building 'lxml.etree' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/include/python2.6 -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-2.6/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:1:2: error: #error Do not use this file, it is the result of a failed Cython compilation.

but then I succeeded with the old sudo easy_install lxml

because now I have Cython

just FYI.  

so the advice on the build page says not to install Cython but that was the only way I got it to work.
building from source in that checkout failed