使用x86_64 pip install lxml error

时间:2016-06-02 20:32:53

标签: python pip lxml

我在x86_64盒子上运行了Redhat CEL6。我正在尝试安装“lxml”并继续收到以下错误。尝试安装所有依赖包和开发包但仍无法解决此问题。

我尝试重新安装gcc,但也没有帮助。

有什么想法吗?这是错误:

building 'lxml.etree' extension
creating build/temp.linux-x86_64-3.4
creating build/temp.linux-x86_64-3.4/src
creating build/temp.linux-x86_64-3.4/src/lxml
gcc -pthread -m32 -Werror=declaration-after-statement -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -m32 -fPIC -I/usr/include/libxml2 -   Isrc/lxml/includes -I/users/cveerapa/pyats/include -I/auto/pysw/cel63/python/3.4.1/include/python3.4m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.4/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c: In function ?PyInit_etree?:
src/lxml/lxml.etree.c:213700: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
gcc -pthread -shared -m32 build/temp.linux-x86_64-3.4/src/lxml/lxml.etree.o -L/usr/lib64 -lxslt -lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-3.4/lxml/etree.cpython-34m.so
/usr/bin/ld: skipping incompatible /usr/lib64/libxslt.so when searching for -lxslt
/usr/bin/ld: skipping incompatible /usr/lib64/libxslt.a when searching for -lxslt
/usr/bin/ld: skipping incompatible /usr/lib64/libxslt.so when searching for -lxslt
/usr/bin/ld: skipping incompatible /usr/lib64/libxslt.a when searching for -lxslt
/usr/bin/ld: cannot find -lxslt
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

2 个答案:

答案 0 :(得分:0)

您需要安装所有开发库,但在这种情况下,您似乎正在尝试编译32位版本的库,因为您很可能已安装32位版本的Python。

sudo yum install zlib-devel.i686 libxslt.i686 libxml2-devel.i686 libxslt-devel.i686 python-devel.i686

答案 1 :(得分:0)

我在RH5.7上面临类似问题(但是64位问题)。您的问题是Linux上的32位lxml。

@eandersson的建议很有用,我想。

您可以查看以下命令吗?

  1. find / usr / lib * -name libxslt.so
  2. yum list安装libxslt libxslt-devel libxml2 libxml2-devel
  3. 我希望第一个结果有“/usr/lib/libxslt.so”。因为您的安装程序是32位库(-m32)。

    第二个结果也应该有“ .i686”。不仅“ .x86_64”与上述原因相同。

    如果它们都与我的期望不同,您可以执行以下操作:

    • yum install libxslt libxslt-devel libxml2 libxml2-devel

      • 实际上你需要其中的一些,但我以前没猜到。

    我希望,它有所帮助。