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

Wheels on PyPI violate manylinux1 specification / PEP513 #8802

Closed
bluenote10 opened this issue Mar 29, 2017 · 6 comments
Closed

Wheels on PyPI violate manylinux1 specification / PEP513 #8802

bluenote10 opened this issue Mar 29, 2017 · 6 comments
Assignees
Labels
type:build/install Build and install issues

Comments

@bluenote10
Copy link

bluenote10 commented Mar 29, 2017

Follow-up issue to #5033.

As already pointed out by @jjhelmus, the Linux wheels on PyPI do not conform to the manylinux1 specification provided in PEP513. To quote @jjhelmus's comment from #5033:

Specifically, they contain shared libraries which reference versioned symbols which do not meet the GLIBC <= 2.5 and GLIBCXX <= 3.4.9 requirements specified in the PEP.

It would be great if the wheels could be fixed to match the specification.

@gunan
Copy link
Contributor

gunan commented Mar 29, 2017

@yifeif From what I understand on the issue, it was decided to just leave a note on the website?
Maybe we should just remove manylinux1 wheel files, as they are leading to confusion.
As we only officially support ubuntu officially, is there a way to mark the wheel files as such, instead of the broader manylinux label?

@aselle aselle added the type:build/install Build and install issues label Mar 30, 2017
@yifeif yifeif closed this as completed in 98602f5 Apr 4, 2017
@bluenote10
Copy link
Author

I don't understand the motivation to label the wheel "manylinux" combined with a note that it actually isn't a manylinux wheel. If it does not follow the specification, it's just a regular wheel and calling it manylinux is confusing.

To maximise compatibility, it would obviously be much preferred to follow the PEP and build the wheels against the official manylinux docker images (unless there is a true incompatibility).

@yifeif
Copy link
Contributor

yifeif commented Apr 5, 2017

@bluenote10 thanks for raising the concern. We are not building against the official manylinux docker for many reasons such as we need nvidia docker to build GPU binaries, we don't have support for centOS etc. And manylinux1 is the only linux ABI Pypi supports now. We'd like to provide the convenience of downloading linux wheel through pip install for now until better solution comes up.

@pitrou
Copy link

pitrou commented Jul 2, 2018

Just chiming in here. It's counter-productive to claim your wheels are manylinux1-compliant when they aren't. This is producing annoyances for other projects in the ecosystem who have to deal with bug reports such as "pyarrow crashes when I try to use it alongside tensorflow".

@westurner
Copy link

"PEP 571 -- The manylinux2010 Platform Tag"
https://www.python.org/dev/peps/pep-0571/

"Tracking issue for manylinux2010 rollout"
pypa/manylinux#179

"[Distutils] Opinions on requiring younger glibc in manylinux1 wheel?"
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/M4MSVY5MPAPXFWHH4PBLE6PEBPOBIA44/

@chargrnv
Copy link

chargrnv commented Nov 28, 2018

The problem I have with is if I build and publish my own wheel internally, and use an extra-index-url to my pypi repo, the public pypi 'manylinux1' will be selected by pip over my internal 'linux' wheel. If the published wheels were manylinux1, I wouldnt need to build my own.

@yifeif can this be reopened please?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:build/install Build and install issues
Projects
None yet
Development

No branches or pull requests

7 participants