Opened 11 months ago

Last modified 4 weeks ago

#32074 new task

Meta-ticket: Remove support for outdated distros

Reported by: dimpase Owned by:
Priority: major Milestone: sage-9.7
Component: build Keywords:
Cc: mkoeppe Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

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:

  • #31526 (Drop support for optional packages with system gcc 4.x on ubuntu-trusty, debian-jessie, linuxmint-17, centos-7)

Sage 9.5:

  • #32281: {ubuntu-trusty,linuxmint-17}-gcc_spkg: numpy, ntl, nauty, ... fail to build
  • #32405 sage-bootstrap-python: Reject ancient pythons that do not support SNI
  • #32515 linuxmint-17, ubuntu-trusty: scipy build error with pybind11
  • #32907 Update singular to 4.2.1p2 (required patching flint for ubuntu-trusty)
  • #25009 primecount required patching for ubuntu-trusty etc. and would require patching for debian-jessie
  • #32947 Drop support for debian-jessie - gcc 4.9; past EOL LTS, extended LTS (commercial, separate from Debian, till June 2022), see https://wiki.debian.org/DebianReleases).
  • #33068 GH Actions: Remove ubuntu-groovy

Sage 9.6:

  • no changes to supported platforms
  • #32965: tox / GH Actions: Add fedora/centos variants using devtoolset
  • #32966: tox / GH Actions: Add ubuntu variants using ppa:ubuntu-toolchain-r

Sage 9.7:

  • #33316 Drop support for GCC < 6.3, motivated by stricter compiler requirements in numpy 1.22.x, scipy 1.8.x (#32423), linbox (#32959), e-antic/Normaliz (#31588):
    • ubuntu-trusty 14.04 is long past "standard support", but EOL has been extended to Apr 2024. Replace by ubuntu-trusty-toolchain-gcc_9
    • Likewise for ubuntu-xenial: replace by ubuntu-xenial-toolchain-gcc_9
    • centos-7 has EOL June 2024, gcc 4.x. Replace by centos-7-devtoolset-gcc_11
    • linuxmint-17 had EOL 2019. gcc 4.x. Drop
    • linuxmint-18 had EOL 2021, gcc 5.4. Drop
    • slackware-14.2 with gcc 5.5. Drop

Other candidates for removal:

  • anything with gcc 6 and older (no longer supported)
  • fedora 32 and earlier
  • macOS 10.13 and earlier

Change History (30)

comment:1 Changed 11 months ago by gh-sheerluck

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

comment:2 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:3 Changed 11 months ago by dimpase

  • Description modified (diff)

comment:4 Changed 11 months ago by dimpase

  • Description modified (diff)

comment:5 Changed 11 months ago by dimpase

  • Description modified (diff)

comment:6 Changed 11 months ago by gh-DaveWitteMorris

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.

comment:7 Changed 11 months ago by jhpalmieri

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 Changed 11 months ago by mkoeppe

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 Changed 11 months ago by dimpase

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

comment:10 Changed 11 months ago by dimpase

  • Description modified (diff)

comment:11 Changed 10 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:12 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:13 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:14 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 6 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from remove support for outdated distros to Meta-ticket: Remove support for outdated distros

comment:16 Changed 6 months ago by mkoeppe

  • Description modified (diff)

Reorganized the ticket description.

comment:17 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:18 Changed 5 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:19 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:20 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:21 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:23 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:24 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:25 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:26 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:27 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:28 Changed 7 weeks ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7

comment:29 Changed 4 weeks ago by mkoeppe

  • Description modified (diff)

comment:30 Changed 4 weeks ago by mkoeppe

  • Description modified (diff)
Note: See TracTickets for help on using tickets.