Setup.py: install lxml with Python2.6 on CentOS

k99 picture k99 · Jan 10, 2011 · Viewed 26.3k times · Source

I have installed Python 2.6.6 on CentOS 5.4,

[@SC-055 lxml-2.3beta1]$ python
Python 2.6.6 (r266:84292, Jan  4 2011, 09:49:55) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

I want to use the lxml module, but build from sources failed:

src/lxml/lxml.etree.c:157929: error: ‘xsltLibxsltVersion’ undeclared (first use in this function)
src/lxml/lxml.etree.c:157941: error: ‘__pyx_v_4lxml_5etree_XSLT_DOC_DEFAULT_LOADER’ undeclared (first use in this function)
src/lxml/lxml.etree.c:157941: error: ‘xsltDocDefaultLoader’ undeclared (first use in this function)
src/lxml/lxml.etree.c:157950: error: ‘__pyx_f_4lxml_5etree__xslt_doc_loader’ undeclared (first use in this function)
error: command 'gcc' failed with exit status 1

Answer

bakkal picture bakkal · Jan 10, 2011

I had the same issue, I managed to install it after installing the package libxslt-devel and python-devel which seems to be your problem:

yum install libxslt-devel python-devel

python setup.py install

Installed /usr/lib/python2.6/site-packages/lxml-2.2.8-py2.6-linux-i686.egg
Processing dependencies for lxml==2.2.8
Finished processing dependencies for lxml==2.2.8

However since I also installed other packages in the process, you might want to double check libxml2, libxml2-devel and libxslt while you are at it.

Here is some information on how to build lxml: http://lxml.de/build.html