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

Clarification on the manylinux wheels comliance #47

Closed
rth opened this issue Dec 12, 2018 · 7 comments
Closed

Clarification on the manylinux wheels comliance #47

rth opened this issue Dec 12, 2018 · 7 comments
Labels
bug Something isn't working

Comments

@rth
Copy link

rth commented Dec 12, 2018

Thanks for this very useful package!

Regarding building manylinux1 wheels, the readme states,

The pypa offers a special docker container and a tool called auditwheel to ensure compliance with the manylinux rules. pyo3-pack contains a reimplementation of the most important part of auditwheel that checks the generated library, so there's no need to use external tools. If you want to disable the manylinux compliance checks for some reason, use the --skip-auditwheel flag.

As far as I understand, another requirement of the manylinux policy is that it needs to work with CentOS 5.11 (on which those docker images are based). Does it mean that one has to use these docker images (and install rust nightly there)? The readme sounds like it's not necessary...

@konstin
Copy link
Member

konstin commented Dec 15, 2018

In theory, rust should only link symbols old enough for manylinux compliance. iirc in there's a bug where rust currently links two more recent symbols, breaking manylinux and even manylinux2010 compliance. Unfortunately I currently can't check because the latest nightly crashes in the manylinux container with some error about the gcc version: rust-lang/rust#56849. So this means you currently need the docker container for full compliance; I had started creating a Dockerfile with all tools installed, but not finished it.

@konstin konstin added the blocked Something is blocking this label Dec 15, 2018
@rth
Copy link
Author

rth commented Dec 15, 2018

Thanks for the explanations @konstin !

@konstin konstin added bug Something isn't working and removed blocked Something is blocking this labels Jan 10, 2019
@konstin
Copy link
Member

konstin commented Jan 10, 2019

I've filed rust-lang/rust#57497 for glibc part, but I'm not sure if that will get fixed. I've also created a docker container based on the manylinux container with all required tools installed and published it under konstin2/pyo3-pack, but I think I need to pin the nightly, I don't know yet if tags get published and the upload feature can't be used (reqwest got rustls support just 3 days ago, maybe that could help, but that needs to be manually tested for regressions).

konstin added a commit that referenced this issue Jan 17, 2019
@konstin
Copy link
Member

konstin commented Jan 17, 2019

I've improved the Dockerfile a good bit and updated with proper information.

@rth Could have a look at the readme please and tell me if that fixes the issue?

@rth
Copy link
Author

rth commented Jan 17, 2019

yes 5375271 fixes this issue, thanks @konstin !

@rth rth closed this as completed Jan 17, 2019
@ijl
Copy link
Contributor

ijl commented Jan 28, 2019

@konstin should konstin2/pyo3-pack be public? I need to login to access it.

@konstin
Copy link
Member

konstin commented Jan 28, 2019

Thanks for the note @ijl, I've changed it to the correct link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants