-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Meta-ticket: Remove support for outdated distros #32074
Comments
comment:1
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:6
I don't know anything about the build system, so maybe this is noise, but regarding the problem with I think In the link to the debian jessie run, I see "Unpacking gcc-4.9 (4.9.2-10+deb8u2)" and "Unpacking g++-4.9 (4.9.2-10+deb8u2)". If this means it is using gcc 4.9, then that would explain the problem. I thought support for gcc 4.9 was dropped in #31526, which means we should not be worrying about this, but I guess I hadn't read it carefully, because it seems to only allow optional packages to drop support for 4.x. Is the problem with ubuntu trusty also from using gcc 4.x? I don't think I should have much of a say, but I am certainly +1 on dropping support for gcc 4.x entirely. That is a really old compiler. |
comment:7
What about Mac OS? I've seen a claim that Apple officially supports the three most recent versions of the OS — currently 10.14, 10.15, and 11 — and (for example) Mac OS 10.11 became unsupported in August 2018, 10.12 in November 2019, 10.13 in November 2020. I don't know what impact dropping support for 10.11 would have on Sage, but I think I saw a recent post in sage-devel or sage-support from someone struggling to install Sage on this OS. |
comment:8
https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners only has Catalina and Big Sur. So these systems are the only ones that are systematically tested. These are also the only versions that we claim to support (for building Sage from source) in https://wiki.sagemath.org/ReleaseTours/sage-9.3#Availability_of_Sage_9.3_and_installation_help Without infrastructure for testing, I would be reluctant to make any claims regarding support for older OS releases. Travis CI does support a wider range of macOS releases, keyed to XCode versions - https://docs.travis-ci.com/user/reference/osx/#macos-version, going back to OS X 10.11. I used to have a workflow on Travis CI to run some superficial tests on a built binary distribution on older macOS versions (see #31133). But there seemed to be little interest in this at the time, and I have not updated these scripts. Marc Culler appears to be testing his new binary distribution on some older macOS versions. |
comment:9
I think Apple is supporting 3 macOS releases, including the current, 11. This makes everything older than macOS 10.14 obsolete. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:16
Reorganized the ticket description. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
<!-- Please provide a concise, informative and self-explanatory title. --> <!-- Don't put issue numbers in the title. Put it in the Description below. --> <!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to multiply two integers" --> ### 📚 Description In preparation for important package upgrades, we remove support for Python v3.8. (Almost) all occurrences of "Python 3.8" are removed from the codebase. There are still some comments left that essentially say that in newer versions things can be simplified, but I didn't touch those and leave them for follow-up PRs. This will help with: - PRs that require Python 3.9 or above, such as sagemath#34973 and sagemath#35188. - Upgrades of Python packages that have dropped support for Python 3.8 because they follow NEP 29 and have already released a new major version that drops support according to the NEP 29 schedule. - NetworkX 3.2 (expected 2023-??; version 3.1 was released 2023-04, see sagemath#35671) - sagemath#34816 - sagemath#35703 - See also sagemath#32074. Test run: https://github.com/tobiasdiez/sage/actions/runs/4586981626 <!-- Describe your changes here in detail. --> <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x ]`. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [x] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#35404 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Matthias Köppe
…-buster` and `fedora-29` <!-- Please provide a concise, informative and self-explanatory title. --> <!-- Don't put issue numbers in the title. Put it in the Description below. --> <!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to multiply two integers" --> ### 📚 Description <!-- Describe your changes here in detail. --> <!-- Why is this change required? What problem does it solve? --> Prerequisite of: - sagemath#34816 - sagemath#35703 - sagemath#35801 See also: - sagemath#32074 Instead of fully dropping `debian-buster` (LTS until 2024-06) in the CI, we replace it by `debian-buster-gcc_spkg` to verify that users on this platform have the recourse of installing a newer GCC. We also remove `linuxmint-19.3-gcc_8-python3.8` and change `fedora-30-python3.8` to `fedora-30` (which builds python from spkg), to prevent a merge conflict with sagemath#35404 We also add `debian-trixie` (= current testing). <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x ]`. --> - [x] The title is concise, informative, and self-explanatory. - [ ] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#35810 Reported by: Matthias Köppe Reviewer(s): Dima Pasechnik
<!-- Please provide a concise, informative and self-explanatory title. --> <!-- Don't put issue numbers in the title. Put it in the Description below. --> <!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to multiply two integers" --> ### 📚 Description In preparation for important package upgrades, we remove support for Python v3.8. (Almost) all occurrences of "Python 3.8" are removed from the codebase. There are still some comments left that essentially say that in newer versions things can be simplified, but I didn't touch those and leave them for follow-up PRs. This will help with: - PRs that require Python 3.9 or above, such as sagemath#34973 and sagemath#35188. - Upgrades of Python packages that have dropped support for Python 3.8 because they follow NEP 29 and have already released a new major version that drops support according to the NEP 29 schedule. - NetworkX 3.2 (expected 2023-??; version 3.1 was released 2023-04, see sagemath#35671) - sagemath#34816 - sagemath#35703 - See also sagemath#32074. Test run: https://github.com/tobiasdiez/sage/actions/runs/4586981626 <!-- Describe your changes here in detail. --> <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x ]`. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [x] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#35404 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Matthias Köppe
…-buster` and `fedora-29` <!-- Please provide a concise, informative and self-explanatory title. --> <!-- Don't put issue numbers in the title. Put it in the Description below. --> <!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to multiply two integers" --> ### 📚 Description <!-- Describe your changes here in detail. --> <!-- Why is this change required? What problem does it solve? --> Prerequisite of: - sagemath#34816 - sagemath#35703 - sagemath#35801 See also: - sagemath#32074 Instead of fully dropping `debian-buster` (LTS until 2024-06) in the CI, we replace it by `debian-buster-gcc_spkg` to verify that users on this platform have the recourse of installing a newer GCC. We also remove `linuxmint-19.3-gcc_8-python3.8` and change `fedora-30-python3.8` to `fedora-30` (which builds python from spkg), to prevent a merge conflict with sagemath#35404 We also add `debian-trixie` (= current testing). <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x ]`. --> - [x] The title is concise, informative, and self-explanatory. - [ ] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#35810 Reported by: Matthias Köppe Reviewer(s): Dima Pasechnik
…tu-xenial` <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> On `centos-7`, still supported until June 2024, we have to use sage- bootstrap-python = python2. Support for Python 2 was broken accidentally in sagemath#36393, see https://gith ub.com/sagemath/sage/actions/runs/6520548150/job/17767608828#step:10:192 7 Fixed here, as tested with `tox -e docker-centos-7-devtoolset- gcc_11-standard -- config.status`. Same issue also affects `fedora-30`, which is still tested by the CI as a proxy for old RHEL, and `ubuntu-xenial`. See sagemath#32074 <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36476 Reported by: Matthias Köppe Reviewer(s): Tobias Diez
…u-trusty`, `opensuse-{15.3,15.4}` <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> We increase parallelization according to [the upgraded Linux runners on GH Actions](https://docs.github.com/en/actions/using-github-hosted- runners/about-github-hosted-runners/about-github-hosted- runners#standard-github-hosted-runners-for-public-repositories) (4 CPUs) and add some newer platforms. `fedora-40` fails because we reject GCC 14, that's now tracked in sagemath#37353. Update (Apr 2024): - ubuntu-trusty reaches EOL, we drop it. Also remove some past-EOL OpenSUSE Leap; see sagemath#32074 - also reducing the list of systems tested with `--enable-system-site- packages` because there is no interest in doing the porting work - updating the default platform (used by the incremental build workflows) from `ubuntu-focal` to `ubuntu-jammy`. <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37351 Reported by: Matthias Köppe Reviewer(s): Julian Rüth, Kwankyu Lee, Matthias Köppe, Michael Orlitzky, Tobias Diez
…-buster-gcc_spkg` from CI <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> - Fixes sagemath#38006 @jhpalmieri - `gcc` does not build on `debian-buster` (which we supported via `-gcc_spkg` because it is LTS until 2024-06), so we drop this platform now; see sagemath#32074. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> - Depends on sagemath#37726 (merged here to resolve merge conflict) URL: sagemath#38008 Reported by: Matthias Köppe Reviewer(s):
In particular, CI is running tests on post-EOL distros.
Here we collect tickets in roughly chronological order that required special care for old platforms, as well as tickets that drop support for old platforms.
Sage 9.4:
ubuntu-trusty
,debian-jessie
,linuxmint-17
,centos-7
)Sage 9.5:
{ubuntu-trusty,linuxmint-17}-gcc_spkg
:numpy
,ntl
,nauty
, ... fail to buildsage-bootstrap-python
: Reject ancient pythons that do not support SNIlinuxmint-17
,ubuntu-trusty
:scipy
build error withpybind11
ubuntu-trusty
)primecount
required patching forubuntu-trusty
etc. and would require patching fordebian-jessie
debian-jessie
- gcc 4.9; past EOL LTS, extended LTS (commercial, separate from Debian, till June 2022), see https://wiki.debian.org/DebianReleases).ubuntu-groovy
Sage 9.6:
Sage 9.7:
ubuntu-trusty
14.04 is long past "standard support", but EOL has been extended to Apr 2024. Replace by ubuntu-trusty-toolchain-gcc_9ubuntu-xenial
: replace by ubuntu-xenial-toolchain-gcc_9centos-7
has EOL June 2024, gcc 4.x. Replace by centos-7-devtoolset-gcc_11linuxmint-17
had EOL 2019. gcc 4.x. Droplinuxmint-18
had EOL 2021, gcc 5.4. Dropslackware-14.2
with gcc 5.5. DropSage 9.8:
ubuntu-trusty
,ubuntu-xenial
,ubuntu-bionic
,debian-stretch
,fedora-26
.debian-stretch
(EOL, GCC 6.3),fedora-{26,27,28}
(GCC < 8): Dropubuntu-bionic
andlinuxmint-19.x
: Default gcc is gcc-7, but a gcc-8 package is available, providing/usr/bin/gcc-8
but not/usr/bin/gcc
. Replace platform by ubuntu-bionic-gcc_8 (to be defined)opensuse-15.0
: Default gcc is gcc7, but a package gcc8 is available, which provides/usr/bin/gcc-8
but not/usr/bin/gcc
. Replace with opensuse-15.0-gcc_8opensuse-15.3
,-15.4
: Default gcc is gcc7, but packages gcc8, gcc9, gcc10, gcc11 are available. Replace platforms by opensuse-15.{3,4}-gcc_11Sage 10.0:
fedora-38
) #35092Sage 10.1:
Sage 10.2:
debian-buster
andfedora-29
#35810: NumPy 1.25.x needs GCC >= 8.4; this refers to but is stricter than the published SciPy toolchain roadmap (as of 2023-05-06).debian-buster
(LTS until 2024-06) only has GCC 8.3: Drop. Replace tested platformdebian-buster-i386
bydebian-bullseye-i386
.ubutu-bionic-gcc_8-python3.8
has GCC 8.4, so ok.opensuse-15.0-gcc_8
only has GCC 8.2.1: Drop.opensuse-15.1
and newer have gcc9, gcc10 packages or newer; check if we need to replace currently testedopensuse-15.3
byopensuse-15.3-gcc_10
.linuxmint-19.1-gcc_8
has GCC 8.4, so OK.fedora-29
(long past EOL) only has GCC 8.3.1: Drop.centos-stream-8
has GCC 8.5, ok.centos-7
,fedora-30
,ubuntu-xenial
#36476Sage 10.3
configure.ac
: Remove tests for outdated platforms #36915Sage 10.4
ubuntu-trusty
,opensuse-{15.3,15.4}
#37351gcc
,gfortran
: Update to 13.2.0; removedebian-buster-gcc_spkg
from CI #38008 (debian-buster LTS until 2024-06)tox.ini
,.github/workflows
,.devcontainer
: Remove centos-stream-8 (EOL) #38179 (EOL 2024-05)Sage 10.5
centos-7
#38380 (EOL 2024-06)Sage 10.x:
debian-bullseye
(end of standard support 2024-08),ubuntu-focal
(end of standard support 2025-04) -build/pkgs/python3
3.13.0rc1, require Python >= 3.10,numpy
2.1.1,scipy
1.14.1,pillow
10.4.0,cffi
1.17.0,networkx
3.3,sphinx
8,ipython
8.26 #37006spkg-install
by conda #35583 / Install some dummy and optional packages using conda-forge (micromamba) #35585CC: @mkoeppe
Component: build
Issue created by migration from https://trac.sagemath.org/ticket/32074
The text was updated successfully, but these errors were encountered: