Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

pypi manylinux1 is not manylinux1 #15669

Closed
chargrnv opened this issue Jul 26, 2019 · 6 comments
Closed

pypi manylinux1 is not manylinux1 #15669

chargrnv opened this issue Jul 26, 2019 · 6 comments

Comments

@chargrnv
Copy link

chargrnv commented Jul 26, 2019

Description

manylinux1 package that is published is not manylinux1.

OSError: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /path/to/my/python/lib/python2.7/site-packages/mxnet/libmxnet.so)

https://www.python.org/dev/peps/pep-0513/

Therefore, as a consequence of requirement (b), any wheel that depends on versioned symbols from the above shared libraries may depend only on symbols with the following versions:

GLIBC <= 2.5
CXXABI <= 3.4.8
GLIBCXX <= 3.4.9
GCC <= 4.2.0

Environment info (Required)

CentOS 5/6

The problem with this is, if I make my own build and publish to an extra-index-url, the published manylinux1 package is given priority by pip.

@mxnet-label-bot
Copy link
Contributor

Hey, this is the MXNet Label Bot.
Thank you for submitting the issue! I will try and suggest some labels so that the appropriate MXNet community members can help resolve it.
Here are my recommended labels: Bug

@zachgk
Copy link
Contributor

zachgk commented Jul 26, 2019

Right now, we build to be compatible with CentOS 7. We should switch to tagging it appropriately, but PyPI only supports manylinux1 for linux https://packaging.python.org/guides/distributing-packages-using-setuptools/#platform-wheels so there are no other tags we can use. They are working on adding PyPI support for manylinux2010 pypa/manylinux#179, but it is not available yet and it matches CentOS 6 which would also not be correct. Only recently did they propose the manylinux2014 which matches CentOS 7 https://www.python.org/dev/peps/pep-0599/.

Our other option is to change our PyPI build to match the standards of manylinux1. I don't know what implications this change could have on performance or functionality and why we did not decide to do so in the first place.

@szha @lanking520

@marcoabreu
Copy link
Contributor

We only support cent os 7

@zachgk
Copy link
Contributor

zachgk commented Jul 29, 2019

@marcoabreu I don't think I described the issue well. Releases to pip that are tagged manylinux1 are supposed to follow the standard described in PEP 513 which requires minimal dependencies and supporting CentOS 5. Unfortunately, there is no other linux tag available besides manylinux1 if we want to release for linux with PyPI. So, we are currently releasing to PyPI under manylinux1 but not actually conforming to the standards of manylinux1.

@marcoabreu
Copy link
Contributor

Oh I understand. Can we add a description or something similar to describe that the published package is not confirming with the standard and the target OS is CentOS 7? At least until the new tags are available?

@szha
Copy link
Member

szha commented Jul 12, 2020

This should have been addressed in #17681

@szha szha closed this as completed Jul 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants