Skip to content
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 failure on f37 and ubuntu-latest #2002

Closed
adriansev opened this issue Apr 26, 2023 · 6 comments · Fixed by #2025
Closed

pip install failure on f37 and ubuntu-latest #2002

adriansev opened this issue Apr 26, 2023 · 6 comments · Fixed by #2025
Assignees
Milestone

Comments

@adriansev
Copy link
Contributor

Hi! It seems that xrootd can no longer be install through pip on a fedora 37 and on github runner ubuntu-latest ..
on f37 side trying a python3 -m pip install --user --upgrade xrootd gives me:

  exec(compile(setup_py_code, filename, "exec"))
  '"'"''"'"''"'"' % ('"'"'/home/adrian/tmp/pip-install-jv42me36/xrootd_f303b9e4ef5a4f95a1d75b1ff94207ea/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' bdist_wheel -d /home/adrian/tmp/pip-wheel-3e_i88p2
  Command output: [use --verbose to show]
  Running setup.py clean for xrootd
Failed to build xrootd
ERROR: Could not build wheels for xrootd, which is required to install pyproject.toml-based projects

on the github runner side, i have a workflow where i do this:
https://github.com/adriansev/jalien_py/blob/master/.github/workflows/codeql-analysis.yml#L61

and i get the same error as on fedora 37, see:
https://github.com/adriansev/jalien_py/actions/runs/4812709489/jobs/8568298173#step:6:101

Any idea what happened with xrootd pip install ability?
Thanks a lot!

@adriansev
Copy link
Contributor Author

for reference, i got to make the install work by using pip==23.0.1 setuptools==65.5.1

@amadio
Copy link
Member

amadio commented Apr 27, 2023

Dear @adriansev, we are painfully aware of this (you can see the CI is red on master at the moment). The packaging of the Python bindings are in need of an uplift, which will happen soon, see #1844. If I can work around the issues with latest pip and setuptools without a rewrite, I will push it for next patch release next week.

@amadio amadio self-assigned this Apr 27, 2023
@adriansev
Copy link
Contributor Author

Thanks a lot!!

@matthewfeickert
Copy link
Contributor

I got to make the install work by using pip==23.0.1 setuptools==65.5.1

I think constraining setuptools is unecessary as this is just running into

  • Remove setup.py install fallback when building a wheel failed for projects without pyproject.toml. (#8368)
  • When the wheel package is not installed, pip now uses the default build backend instead of setup.py install and setup.py develop for project without pyproject.toml. (#8559)

as outlined in the pip v23.1 release notes — remember pip does not use SemVer but a custom CalVer like system!

@henryiii can correct me if I'm wrong, but until a modern build system can be established in Issue #1844 I see no problem with just pinning pip to a version that hasn't deprecated support for the legacy systems used now (i.e. pip<23.1).

@amadio
Copy link
Member

amadio commented May 23, 2023

I'm currently rewriting the whole build system for the Python bindings, that should come out with v5.6 next month. It will solve this and many other issues, and I plan to support binary wheels too. Cheers,

@amadio amadio added this to the 5.6 milestone May 30, 2023
amadio added a commit to amadio/xrootd that referenced this issue Jun 5, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: xrootd#1768, xrootd#1807 xrootd#1833, xrootd#1844, xrootd#2001, xrootd#2002.
amadio added a commit to amadio/xrootd that referenced this issue Jun 5, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: xrootd#1768, xrootd#1807 xrootd#1833, xrootd#1844, xrootd#2001, xrootd#2002.
amadio added a commit to amadio/xrootd that referenced this issue Jun 5, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: xrootd#1768, xrootd#1807 xrootd#1833, xrootd#1844, xrootd#2001, xrootd#2002.
amadio added a commit to amadio/xrootd that referenced this issue Jun 6, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: xrootd#1768, xrootd#1807 xrootd#1833, xrootd#1844, xrootd#2001, xrootd#2002.
amadio added a commit to amadio/xrootd that referenced this issue Jun 6, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: xrootd#1768, xrootd#1807 xrootd#1833, xrootd#1844, xrootd#2001, xrootd#2002.
amadio added a commit that referenced this issue Jun 7, 2023
This is a rewrite of the packaging of the Python bindings. The new
packaging supports building the Python bindings both as part of a
standard CMake build, as well as against a previously installed version
of XRootD without the Python bindings. A new setup.py at the top level
has been created to replace the old one from packaging/wheel. It can
be used to drive the main CMake build using pip to create source and
binary distributions of XRootD.

Closes: #1768, #1807 #1833, #1844, #2001, #2002.
@amadio amadio closed this as completed Jun 8, 2023
@amadio
Copy link
Member

amadio commented Jun 8, 2023

Fixed by #2025.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants