我在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
答案 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的建议很有用,我想。
您可以查看以下命令吗?
我希望第一个结果有“/usr/lib/libxslt.so”。因为您的安装程序是32位库(-m32)。
第二个结果也应该有“ .i686”。不仅“ .x86_64”与上述原因相同。
如果它们都与我的期望不同,您可以执行以下操作:
yum install libxslt libxslt-devel libxml2 libxml2-devel
我希望,它有所帮助。