Maturin can't build in manylinux container #1726
Unanswered
DanielChaseButterfield
asked this question in
Q&A
Replies: 3 comments
-
|
Also, I just set the maturin version of the docker build from |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
This also looks like it's semi-related to Issue #1490. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Have you tried cargo clean first? Looks like you are sharing build cache between host and container. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Bug Description
I'm trying to build a Python 3.9 wheel for my repository. I'll tell the whole story from beginning to end. First, maturin built a wheel that was incompatible for installation with my latest form of pip:
By running
pip debug --verbose, I discovered that the maximum manylinux version supported by pip was2_31:Therefore, I tried to have maturin generate a wheel with a
2_31version. However, it told me:For this, I generally understood that my current platform was using functions from newer versions of GLIBC than supported. Therefore, if I built in a manylinux docker container, it would hopefully use functions that were available in the docker container. I setup a
quay.io/pypa/manylinux_2_28_x86_64docker container, and ran into a new error:Basically, maturin is failing because it is now missing the required versions of GLIBC to build the wheel for
2_28. I find this strange however, as on my personal machine, maturin had no issue building aactag-0.1.0-cp39-cp39-manylinux_2_31_x86_64.whlwheel, meaning that at the very least, GLIBC_2.32-GLIBC_2.34 shouldn't be required.It is also weird that it's complaining about this, as wasn't the point of the manylinux container to remove these GLIBC versions so that it could build a wheel with lower GLIBC requirements?
How can I fix this issue? Is it possible that I have a slightly outdated version of Python, which means that I can't install my
2_35wheel from the beginning? Do I have a newer version of Rust or Pyo3, which stops it from making a2_31wheel? Or something else entirely?NOTE: On my personal computer, where this issue is completely avoided (maturin builds a
2_31wheel that is supported by pip), I have the following versions:Could it be that the newest version of maturin is the issue?
Your maturin version (
maturin --version)maturin 1.2.0
Your Python version (
python -V)Python 3.9.16
Your pip version (
pip -V)pip 23.2.1
What bindings you're using
pyo3
Does
cargo buildwork?If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash
/)?Steps to Reproduce
The full repository where this problem was reproduced can be found here: actag repository.
The current failing build, with all of the output can be found here: Test Python 3.9 - Build #120. For the Drone CI file that runs this test, see line 52 of the .drone.yml file.
Beta Was this translation helpful? Give feedback.
All reactions