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

Meta-ticket: Remove support for outdated distros #32074

Open
dimpase opened this issue Jun 28, 2021 · 38 comments
Open

Meta-ticket: Remove support for outdated distros #32074

dimpase opened this issue Jun 28, 2021 · 38 comments

Comments

@dimpase
Copy link
Member

dimpase commented Jun 28, 2021

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:

Sage 9.5:

Sage 9.6:

Sage 9.7:

Sage 9.8:

  • Reduce R to a dummy package, upgrade rpy2 to 3.4.5 #34268 Reduce R to a dummy package, upgrade rpy2 to 3.4.5 -- this drops support for R on ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, debian-stretch, fedora-26.
  • Drop support for GCC < 8 in Sage 9.8 #34266 Drop support for GCC < 8, motivated by stricter compiler requirements in scipy 1.10.x, which needs C++ 17 language support and specifically GCC >= 8 - http://scipy.github.io/devdocs/dev/toolchain.html#compilers
    • debian-stretch (EOL, GCC 6.3), fedora-{26,27,28} (GCC < 8): Drop
    • ubuntu-bionic and linuxmint-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_8
    • opensuse-15.3, -15.4: Default gcc is gcc7, but packages gcc8, gcc9, gcc10, gcc11 are available. Replace platforms by opensuse-15.{3,4}-gcc_11

Sage 10.0:

Sage 10.1:

Sage 10.2:

Sage 10.3

Sage 10.4

Sage 10.5

Sage 10.x:

CC: @mkoeppe

Component: build

Issue created by migration from https://trac.sagemath.org/ticket/32074

@dimpase dimpase added this to the sage-9.4 milestone Jun 28, 2021
@sheerluck
Copy link
Contributor

comment:1

gentoo-python3.7 is outdated too since Michał Górny disabled python3.7 in Gentoo several weeks ago :(

@mkoeppe

This comment has been minimized.

@dimpase

This comment has been minimized.

@dimpase

This comment has been minimized.

@dimpase

This comment has been minimized.

@DaveWitteMorris
Copy link
Member

comment:6

I don't know anything about the build system, so maybe this is noise, but regarding the problem with __builtin_smull_overflow at #31694 and #31585 ...

I think __builtin_smull_overflow was introduced in gcc 5 and clang 3.4, so I thought it was safe to use. (I think avoiding it would make the code both more complicated and less efficient.)

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.

@jhpalmieri
Copy link
Member

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.

@mkoeppe
Copy link
Member

mkoeppe commented Jul 1, 2021

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.

@dimpase
Copy link
Member Author

dimpase commented Jul 7, 2021

comment:9

I think Apple is supporting 3 macOS releases, including the current, 11. This makes everything older than macOS 10.14 obsolete.

@dimpase

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title remove support for outdated distros Meta-ticket: Remove support for outdated distros Nov 29, 2021
@mkoeppe
Copy link
Member

mkoeppe commented Nov 29, 2021

comment:16

Reorganized the ticket description.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 6, 2023
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 23, 2023
    
<!-- 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
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 23, 2023
…-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
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 27, 2023
    
<!-- 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
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 27, 2023
…-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
vbraun pushed a commit to vbraun/sage that referenced this issue Oct 19, 2023
…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
vbraun pushed a commit to vbraun/sage that referenced this issue Apr 11, 2024
…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
vbraun pushed a commit to vbraun/sage that referenced this issue May 24, 2024
…-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):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants