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

Support older glibc versions (e.g. CentOS 7) for standalone installations #243

Merged
merged 3 commits into from
Dec 20, 2022

Conversation

tsibley
Copy link
Member

@tsibley tsibley commented Dec 20, 2022

Improves our support of even older glibc and distro versions:

--- before
+++ after
@@ -27,24 +27,24 @@ libutil.so.1
 Symbol Versioning
 =================
 
 gcc
 -----
 
 Minimum Version: 4.2.0
 Minimum Distro Versions:
   Debian 7
   Fedora 16
   OpenSUSE 11.4
   RHEL 6
   Ubuntu 12.04
 
 glibc
 -----
 
-Minimum Version: 2.27
+Minimum Version: 2.17
 Minimum Distro Versions:
-  Debian 10
-  Fedora 28
-  No known OpenSUSE versions supported
-  RHEL 8
-  Ubuntu 18.04
+  Debian 8
+  Fedora 19
+  OpenSUSE 12.3
+  RHEL 7
+  Ubuntu 14.04

See commit messages for details.

Related issue(s)

Testing

  • Confirm minimum glibc versions get older
  • Checks pass

@tsibley tsibley force-pushed the trs/standalone/older-glibc branch 2 times, most recently from 36b5dee to f8a1979 Compare December 20, 2022 01:55
…izer binary

This simplifies local development a little bit, but primarily will make
it easier to move our Linux build into a build container with older
glibc versions in order to support older Linux distros like CentOS 7.
@tsibley tsibley force-pushed the trs/standalone/older-glibc branch from f8a1979 to 1e4ad1e Compare December 20, 2022 21:00
@tsibley tsibley marked this pull request as ready for review December 20, 2022 21:47
@tsibley tsibley requested a review from a team December 20, 2022 21:47
@tsibley
Copy link
Member Author

tsibley commented Dec 20, 2022

Confirmed not just the reported glibc compat, but also actual compat with CentOS 7 via the centos:7 Docker image and the binary built by CI for this PR.

…ndalone binary

Arranges for `pyoxidizer build` to run inside of a manylinux2014
container instead of on the ambient host, which yields the following
glibc minimum version improvements compared to our existing binaries
produced in CI (as reported by `pyoxidizer analyze`):

    Minimum Version: 2.27 → 2.17
    Minimum Distro Versions:
      Debian 10     → 8
      Fedora 28     → 19
      OpenSUSE 15.3 → 12.3
      RHEL 8        → 7
      Ubuntu 18.04  → 14.04

The manylinux containers are readily available, well-maintained, and
designed exactly for this purpose.  The standalone Python distributions
used by PyOxidizer are themselves limited to glibc ≥2.16, so we're now
basically at that limit!  manylinux2010 versions are too old.

Related-to: #234
@tsibley tsibley force-pushed the trs/standalone/older-glibc branch from 1e4ad1e to 9507f80 Compare December 20, 2022 22:59
@tsibley tsibley force-pushed the trs/standalone/older-glibc branch from 9507f80 to 9670d2a Compare December 20, 2022 23:02
@tsibley tsibley merged commit f19e501 into master Dec 20, 2022
@tsibley tsibley deleted the trs/standalone/older-glibc branch December 20, 2022 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

1 participant