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

Use manylinux_2_24 image for Linux aarch64 Python builds #8770

Merged
merged 1 commit into from
Sep 4, 2023

Conversation

Mause
Copy link
Member

@Mause Mause commented Sep 2, 2023

This effectively drops the _gcc4 postfix, enabling compatibility with our standard linux_arm64 platform extension builds.

This is at the cost of dropping compatibility with some fairly old versions Linux versions.

I'm very open to discussion on this, but I think enabling extension use is a big enough boon for the cost of deceased compatibility.
Alternatively, we can continue to publish builds using the manylinux2014 standard and add the builds for the manylinux_2_24 standard.

Fixes #8035

This effectively drops the _gcc4 postfix, enabling compatibility with our standard linux_arm64 platform extension builds.

This is at the cost of dropping compatibility with some fairly old versions Linux versions
@hannes
Copy link
Member

hannes commented Sep 4, 2023

I think this is a good idea, we may want to switch everything, also because of the ABI issues. What's the oldest OS that this still supports?

@Mytherin Mytherin merged commit 858208d into duckdb:main Sep 4, 2023
13 checks passed
@Mytherin
Copy link
Collaborator

Mytherin commented Sep 4, 2023

Great idea indeed. For switching over x86 we would lose CentOS 7 compatibility I believe which I think is problematic. We might want to switch over on 2024-07-07 when CentOS 7 is EOL.

@Mause Mause deleted the patch-1 branch September 4, 2023 09:26
@Mause
Copy link
Member Author

Mause commented Sep 4, 2023

I think this is a good idea, we may want to switch everything, also because of the ABI issues. What's the oldest OS that this still supports?

manylinux_2_24 is apparently based on Debian, and the 2.24 in the name refers to the glibc version it uses.

From the manylinux readme:

manylinux tag Client-side pip version required CPython (sources) version embedding a compatible pip Distribution default pip compatibility
manylinux_x_y pip >= 20.3 3.8.10+, 3.9.5+, 3.10.0+ ALT Linux 10+, RHEL 9+, Debian 11+, Fedora 34+, Mageia 8+, Photon OS 3.0 with updates, Ubuntu 21.04+
manylinux2014 pip >= 19.3 3.7.8+, 3.8.4+, 3.9.0+ CentOS 7 rh-python38, CentOS 8 python38, Fedora 32+, Mageia 8+, openSUSE 15.3+, Photon OS 4.0+ (3.0+ with updates), Ubuntu 20.04+
manylinux2010 pip >= 19.0 3.7.3+, 3.8.0+ ALT Linux 9+, CentOS 7 rh-python38, CentOS 8 python38, Fedora 30+, Mageia 7+, openSUSE 15.3+, Photon OS 4.0+ (3.0+ with updates), Ubuntu 20.04+
manylinux1 pip >= 8.1.0 3.5.2+, 3.6.0+ ALT Linux 8+, Amazon Linux 1+, CentOS 7+, Debian 9+, Fedora 25+, openSUSE 15.2+, Mageia 7+, Photon OS 1.0+, Ubuntu 16.04+

So we may field some complaints - again, per the pr description, I'm happy to restore the older manylinux spec if we want to keep support for those distro's at the cost of not having extensions for them for now

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 this pull request may close these issues.

Failed to download extension "httpfs" at …/linux_arm64_gcc4/…
3 participants