Error when installing lxml with static dependencies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lxml |
New
|
Undecided
|
Unassigned |
Bug Description
Can't install lxml with static dependencies:
STATIC_DEPS=true pypy3 -m pip install lxml==4.8.0 -vvv
17.50 Collecting lxml==4.8.0
17.51 Created temporary directory: /tmp/pip-
17.51 Looking up "https:/
17.51 No cache entry available
17.52 Starting new HTTPS connection (1): files.pythonhos
20.89 https:/
20.90 Downloading lxml-4.8.0.tar.gz (3.2 MB)
21.65 Ignoring unknown cache-control directive: immutable
21.65 Updating cache with response from "https:/
21.65 etag object cached for 1209600 seconds
21.65 Caching due to etag
22.23 ━━━━━━━
23.40 Added lxml==4.8.0 from https:/
23.41 Running setup.py (path:/
23.41 Created temporary directory: /tmp/pip-
23.42 Preparing metadata (setup.py): started
23.42 Running command python setup.py egg_info
89.54 Checking for gcc...
89.56 Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).
89.56 ** ./configure aborting.
89.56 Building lxml version 4.8.0.
89.56 Latest version of zlib is 1.3.1
89.56 Downloading zlib into libs/zlib-
89.56 Unpacking zlib-1.3.1.tar.gz into build/tmp
89.56 Latest version of libiconv is 1.17
89.56 Downloading libiconv into libs/libiconv-
89.56 Unpacking libiconv-
89.57 Latest version of libxml2 is 2.9.12
89.57 Downloading libxml2 into libs/libxml2-
89.57 Unpacking libxml2-
89.57 Latest version of libxslt is 1.1.34
89.57 Downloading libxslt into libs/libxslt-
89.58 Unpacking libxslt-
89.58 Starting build in build/tmp/
89.58 Traceback (most recent call last):
89.58 File "<string>", line 2, in <module>
89.58 File "<pip-setuptool
89.58 File "/tmp/pip-
89.58 **setup_
89.59 ^^^^^^^
89.59 File "/tmp/pip-
89.59 ext_modules = setupinfo.
89.59 File "/tmp/pip-
89.59 XML2_CONFIG, XSLT_CONFIG = build_libxml2xslt(
89.59 File "/tmp/pip-
89.59 cmmi(zlib_
89.59 File "/tmp/pip-
89.59 call_subprocess
89.59 File "/tmp/pip-
89.59 raise Exception('Command "%s" returned code %s' % (cmd_desc, returncode))
89.59 Exception: Command "./configure --prefix=
89.61 error: subprocess-
89.61
89.61 × python setup.py egg_info did not run successfully.
89.61 │ exit code: 1
89.61 ╰─> See above for output.
89.61
89.61 note: This error originates from a subprocess, and is likely not a problem with pip.
89.62 full command: /opt/pypy/bin/pypy3 -c '
89.62 exec(compile(
89.62 # This is <pip-setuptools
89.62 #
89.62 # - It imports setuptools before invoking setup.py, to enable projects that directly
89.62 # import from `distutils.core` to work with newer packaging standards.
89.62 # - It provides a clear error message when setuptools is not installed.
89.62 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
89.62 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
89.62 # manifest_maker: standard file '"'"'-c'"'"' not found".
89.62 # - It generates a shim setup.py, for handling setup.cfg-only projects.
89.62 import os, sys, tokenize
89.62
89.62 try:
89.62 import setuptools
89.62 except ImportError as error:
89.62 print(
89.62 "ERROR: Can not execute `setup.py` since setuptools is not available in "
89.62 "the build environment.",
89.62 file=sys.stderr,
89.62 )
89.62 sys.exit(1)
89.62
89.62 __file__ = %r
89.62 sys.argv[0] = __file__
89.62
89.62 if os.path.
89.62 filename = __file__
89.62 with tokenize.
89.62 setup_py_code = f.read()
89.62 else:
89.62 filename = "<auto-generated setuptools caller>"
89.62 setup_py_code = "from setuptools import setup; setup()"
89.62
89.62 exec(compile(
89.62 '"'"''"'"''"'"' % ('"'"'/
89.62 cwd: /tmp/pip-
89.62 Preparing metadata (setup.py): finished with status 'error'
89.63 error: metadata-
89.63
89.63 × Encountered error while generating package metadata.
89.63 ╰─> See above for output.
89.63
89.63 note: This is an issue with the package mentioned above, not pip.
89.63 hint: See above for details.
89.64 Exception information:
89.64 Traceback (most recent call last):
89.64 File "/opt/pypy/
89.64 call_subprocess(
89.64 File "/opt/pypy/
89.64 raise error
89.64 pip._internal.
89.64
89.64 The above exception was the direct cause of the following exception:
89.64
89.64 Traceback (most recent call last):
89.64 File "/opt/pypy/
89.64 status = run_func(*args)
89.64 File "/opt/pypy/
89.64 return func(self, options, args)
89.64 File "/opt/pypy/
89.64 requirement_set = resolver.resolve(
89.64 File "/opt/pypy/
89.64 result = self._result = resolver.resolve(
89.64 File "/opt/pypy/
89.64 state = resolution.
89.64 File "/opt/pypy/
89.64 self._add_
89.64 File "/opt/pypy/
89.64 if not criterion.
89.64 File "/opt/pypy/
89.64 return bool(self.
89.64 File "/opt/pypy/
89.64 return any(self)
89.64 File "/opt/pypy/
89.64 return (c for c in iterator if id(c) not in self._incompati
89.64 File "/opt/pypy/
89.64 candidate = func()
89.64 File "/opt/pypy/
89.64 self._link_
89.64 File "/opt/pypy/
89.64 super().__init__(
89.64 File "/opt/pypy/
89.64 self.dist = self._prepare()
89.64 File "/opt/pypy/
89.64 dist = self._prepare_
89.64 File "/opt/pypy/
89.64 return preparer.
89.64 File "/opt/pypy/
89.64 return self._prepare_
89.64 File "/opt/pypy/
89.64 dist = _get_prepared_
89.64 File "/opt/pypy/
89.64 abstract_
89.64 File "/opt/pypy/
89.64 self.req.
89.64 File "/opt/pypy/
89.64 self.metadata_
89.64 File "/opt/pypy/
89.64 raise MetadataGenerat
89.64 pip._internal.
Also, someone else had the same problem 4 years ago:
https:/
Version:
- pypy 3.10-v7.3.16 (I need pypy3.10 instead of python)
- lxml 4.8.0
There's no clear error message but it looks like there's something wrong or incomplete in your build environment. "configure" failed, so your machine is not able to compile binary code or something like that. See https:/ /lxml.de/ installation. html#requiremen ts