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

BLD/RLS: manylinux2014 at end of life #453

Open
brendan-ward opened this issue Jul 18, 2024 · 3 comments
Open

BLD/RLS: manylinux2014 at end of life #453

brendan-ward opened this issue Jul 18, 2024 · 3 comments

Comments

@brendan-ward
Copy link
Member

Per manylinux EOL table, manylinux2014 is at end of life. We are currently using this for building x86_64 wheels, but using manylinux_2_28 for Arm64 wheels.

It appears the end of life date is set based on the Centos 7 EOL date. The Docker image for manylinux2014 has been updated recently to resolve issues with Centos reaching EOL (fetching packages from Centos mirrors was failing), so it may continue to work for some time.

We have to use a custom install of zlib via VCPKG in manylinux2014 to get around compatibility issues (see #57), but don't have to do those same workarounds in manylinux_2_28. This presents further issues as we try to add support for LIBKML in #589, which requires minizip, which depends on zlib - and probably requires a custom port of minizip for that to work.

It looks like manylinux_2_28 is the recommended distro for building wheels now, so we should plan to switch to this unless there is a reason not to.

@jorisvandenbossche
Copy link
Member

Some related discussion on the cibuildwheel issue tracker about changing their default manylinux image: pypa/cibuildwheel#1772

@jorisvandenbossche
Copy link
Member

I am a little bit hesitant to already remove it, if that would mean around 20% of users would not longer be able to install the latest pyogrio (and a large majority of package is still providing manylinux2014)

Being able to clean-up the custom zlib port is certainly nice, but it once it was figured out, it also doesn't given much problems to keep a around a bit longer.

@jorisvandenbossche
Copy link
Member

jorisvandenbossche commented Aug 21, 2024

if that would mean around 20% of users would not longer be able to install the latest pyogrio

Although looking a bit more in detail at https://mayeut.github.io/manylinux-timeline/, it is also likely that a big part of this 20% is using Python 3.8 or older, and if we would be discussing that, I would say that it's time / fine to drop Python 3.8 support ... so :)

When looking at readiness for glibc for non-EOL Python versions (which at this point still includes Python 3.8, but excludes older), the percentage of downloads that would not be ready for manylinux_2_28 drops to around 7-8% (and without Python 3.8 it will again be significantly lower)

One example distribution that will still require manylinux2014 mentioned in the linked issue above (pypa/cibuildwheel#1772 (comment)) is AmazonLinux 2.

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

Successfully merging a pull request may close this issue.

2 participants