【问题标题】:configure returned code 256 - python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/lxml配置返回代码 256 - python setup.py egg_info 失败,错误代码 1 在 /tmp/pip_build_root/lxml
【发布时间】:2015-02-18 14:17:52
【问题描述】:

尝试在 Python3.4 上构建 lxml:系统确实有 libxml2 和 libxslt。

pip build 无法确定 MULTICORE(?) 等等(?)

下载的相关版本:

  • lxml-3.4.1
  • libiconv-1.14
  • libxml2-2.9.2
  • libxslt-1.1.28

首先,尝试标准构建(动态):

$ CFLAGS="-O0" pip3 install lxml

构建没有错误,但是:

Python 3.4.2 (default, Dec 13 2014, 16:48:48) 
[GCC 4.8.3] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import etree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: ld.so.1: isapython3.4: fatal: relocation error: file /usr/lib/python3.4/site-packages/lxml/etree.cpython-34m.so: symbol __xmlStructuredErrorContext: referenced symbol not found

符号存在,但是:

$ nm /usr/lib/python3.4/site-packages/lxml/etree.cpython-34m.so | grep __xmlStructuredErrorContext
         U __xmlStructuredErrorContext

但在底层 libxml2 中是“本地的”:

# nm /usr/lib/libxml2.so.2 | grep __xmlStructuredErrorContext
000d69d0 t __xmlStructuredErrorContext

好的,按照建议尝试构建 STATIC

$ STATIC_DEPS=true CFLAGS="-O0" pip3 install lxml

...

**Exception: Command "make -j6" returned code 256**

Building lxml version 3.4.1.

Latest version of libiconv is 1.14
Latest version of libxml2 is 2.9.2
Latest version of libxslt is 1.1.28
...

Starting build in build/tmp/libiconv-1.14

---------------------------------------- 
Cleaning up...   Removing temporary dir /tmp/pip_build_root... 

Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/lxml 

Exception information: 
 Traceback (most recent call last):
   File "/usr/lib/python3.4/site-packages/pip/basecommand.py", line 122, in main
     status = self.run(options, args)   File "/usr/lib/python3.4/site-packages/pip/commands/install.py", line 278, in run
     requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
   File "/usr/lib/python3.4/site-packages/pip/req.py", line 1229, in prepare_files
     req_to_install.run_egg_info()   File "/usr/lib/python3.4/site-packages/pip/req.py", line 325, in run_egg_info command_desc='python setup.py egg_info')
   File "/usr/lib/python3.4/site-packages/pip/util.py", line 697, in call_subprocess
     % (command_desc, proc.returncode, cwd)) 
pip.exceptions.InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/lxml

更详尽的日志:http://pastebin.com/P6T246QC

【问题讨论】:

  • 对于第一种情况,etree*so 库指向哪些库(ldd ...)?我的猜测是xmlStructuredErrorContext 缺少其中一个,可能是因为其中一个链接库已弃用该未来,或者因为它太旧而缺少它。
  • 对于动态构建,它会找到系统库 - 例如 libxml2 的 v2.9.2。另一张海报暗示这里符号上的“本地”标志可能是问题所在?有道理? #nm /usr/lib/libxml2.so.2 | grep __xmlStructuredErrorContext 000d69d0 t __xmlStructuredErrorContext
  • 尝试使用像this这样的python发行版。专门帮助我解决 lxml 问题,等等。
  • PIP 检查操作系统和硬件限制以从源代码编译模块?完全令人失望,试试sudo apt-get install python-lxml。其中包括/要求你有什么?哪个二进制编译C/C#/C+/C++源代码?

标签: python python-3.x pip lxml


【解决方案1】:

这个错误引起了我的注意:

**Exception: Command "make -j6" returned code 256**

尝试将您的安装命令更改为:

STATIC_DEPS=true CFLAGS="-O0" pip3 install lxml --install-option="--multicore=1"

虽然这是一个老问题,但我希望它可以帮助某人。

【讨论】:

    猜你喜欢
    • 2021-01-13
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    相关资源
    最近更新 更多