-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pip install cmake is failing in linux #503
Comments
This also affects me – I am trying to get cmake (as a build requirement for opencv-python) on arm/v7, i.e. from sdist. Does this mean that cmake cannot bootstrap itself, i.e. it needs some other/older version of cmake to compile? |
Probably a duplicate of #497 |
One workaround is to pass |
I have a similar problem
Defaulting to user installation because normal site-packages is not writeable × pip subprocess to install backend dependencies did not run successfully. note: This error originates from a subprocess, and is likely not a problem with pip. × pip subprocess to install backend dependencies did not run successfully. note: This error originates from a subprocess, and is likely not a problem with pip.` |
Same error here, Raspberry Pi 3 running Ubuntu Server 20.04.5 LTS (32-bit). Yes this is an unusual configuration, but this hardware and OS seem to be the only working solution for a tool I require. Full error output at the bottom.
Unfortunately for me this fails with So it appears I'm out of luck with getting this venv working for the time being. Full error output:
|
Seeing the same issue on SLES11 (old glibc version) and on SLES12 when using --no-binary. Seeing the following when running with --verbose:
I'm in a venv with preexisting cmake package installed and upgrading to a newer version. The version warning message is coming from scikit-build-core so I'm suspecting something weird is going on here where the backend dep is opting into building wheel cmake rather than using the existing cmake binary for e.g. build_cmake entrypoint. But could be wrong just a guess from a quick cursory glance over the repo. |
You can't install the cmake or ninja packages from binaries if you don't already have cmake and ninja on your system. You can install any system version, then it should build correctly. It can't bootstrap itself without a system cmake & ninja. @stephen-hansen You'll want to disable build isolation if you need to use the cmake package in your venv when building a new cmake package. Build isolation makes a new venv that can't see the old one. I think it would work if you had cmake installed with pipx. Hmm, actually, I wonder if we have a circular import issue here, though. cmake is careful not to require cmake, but ninja requires cmake and cmake can require ninja. I don't think it will break something that could have worked, but it might produce a weird error instead of telling you that you need to install a system ninja, and a system cmake. |
Yep that worked perfectly, thanks! That might solve the issue for other people here. To be clear I only saw this when building with a preexisting cmake wheel in my PATH. Never saw this error with system cmake. So --no-build-isolation makes complete sense here. |
I think the changes since previous versions are:
A few things we could do to help:
|
The problem with If system cmake needs to be quite new for the bootstrap to be successful, then users might have to rely on external repositories to get a binary for their distribution. In my case it was ubuntu:20.04 which ships cmake 3.16.3, but that still seems to be too old – as scikit-build still attempts an sdist build from PyPI. Unfortunately, for that distribution the cmake backport PPA is broken (it's missing a |
It's not supposed to, I'm assuming this is already installed? If someone manually places We need to update our README, that would also help. |
tep 8/17 : RUN pip install cmake
---> Running in cfc976370495
Collecting cmake
Downloading cmake-3.29.5.tar.gz (30 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'error'
error: subprocess-exited-with-error
× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 2
╰─> [53 lines of output]
Collecting ninja>=1.5
Downloading ninja-1.11.1.1-py2.py3-none-musllinux_1_1_x86_64.whl.metadata (5.3 kB)
Collecting cmake
Using cached cmake-3.29.5.tar.gz (30 kB)
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
return func(self, options, args)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 377, in run
requirement_set = resolver.resolve(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in bool
return bool(self._sequence)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in bool
return any(self)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
candidate = func()
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in init
super().init(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in init
self.dist = self._prepare()
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare
dist = self._prepare_distribution()
File "/usr/local/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement
dist = _get_prepared_distribution(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 70, in _get_prepared_distribution
with build_tracker.track(req, tracker_id):
File "/usr/local/lib/python3.8/contextlib.py", line 113, in enter
return next(self.gen)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/build/build_tracker.py", line 137, in track
self.add(req, tracker_id)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/build/build_tracker.py", line 103, in add
raise LookupError(message)
LookupError: https://files.pythonhosted.org/packages/44/26/f4c4c1f0f844d3e546[43](https://git.eu.clara.net/gis-cyberportal/shepherd/-/jobs/698710#L43)9ef6e87f667ee7e7a1c34880975cfcb84a4bdcad/cmake-3.29.5.tar.gz (from https://pypi.org/simple/cmake/) (requires-python:>=3.7) is already being built: cmake from https://files.pythonhosted.org/packages/[44](https://git.eu.clara.net/gis-cyberportal/shepherd/-/jobs/698710#L44)/26/f4c4c1f0f844d3e546439ef6e87f667ee7e7a1c34880975cfcb84a4bdcad/cmake-3.29.5.tar.gz
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 2
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
The command '/bin/sh -c pip install cmake' returned a non-zero code: 1
The text was updated successfully, but these errors were encountered: