Opened 6 months ago

Closed 8 weeks ago

#33316 closed enhancement (fixed)

Drop support for GCC < 6.3 in Sage 9.7

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.7
Component: build: configure Keywords:
Cc: dimpase, gh-kliem Merged in:
Authors: Matthias Koeppe Reviewers: Jonathan Kliem
Report Upstream: N/A Work issues:
Branch: 7c0072e (Commits, GitHub, GitLab) Commit: 7c0072ee09ae13eb519c42fbe1728bcee7ae6cd7
Dependencies: Stopgaps:

Status badges

Description

(see Meta-ticket #32074: Remove support for outdated distros)

This ticket can be used as a dependency for upgrade tickets that impose stricter compiler requirements.

Change History (36)

comment:1 Changed 6 months ago by mkoeppe

  • Dependencies set to #33187

comment:2 Changed 6 months ago by mkoeppe

  • Branch set to u/mkoeppe/drop_support_for_gcc___6_3_in_sage_9_7

comment:3 Changed 6 months ago by git

  • Commit set to bf96a8acb434f4fbd7ac5b007bea832e58f7f66f

Branch pushed to git repo; I updated commit sha1. New commits:

bf96a8aREADME.md, src/doc/en/installation/source.rst: Update info on GCC versions

comment:4 Changed 6 months ago by mkoeppe

  • Authors set to Matthias Koeppe

comment:5 Changed 6 months ago by mkoeppe

  • Work issues set to Update platforms tested on GH Actions, best on top of #33062

comment:6 Changed 4 months ago by git

  • Commit changed from bf96a8acb434f4fbd7ac5b007bea832e58f7f66f to 4e8b2c2771c933f7e2fac7c16fb99cc4e240238f

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

1124dedbuild/pkgs/gcc/spkg-configure.m4: Bump minimum version to 6.3
4e8b2c2README.md, src/doc/en/installation/source.rst: Update info on GCC versions

comment:7 Changed 4 months ago by git

  • Commit changed from 4e8b2c2771c933f7e2fac7c16fb99cc4e240238f to 9b388ea6e2ab3f2690e61753182acecceef33464

Branch pushed to git repo; I updated commit sha1. New commits:

9b388ea.github/workflows/tox*.yml: Update platforms for drop of GCC < 6.3

comment:8 Changed 4 months ago by mkoeppe

  • Work issues Update platforms tested on GH Actions, best on top of #33062 deleted

comment:9 Changed 4 months ago by mkoeppe

  • Dependencies #33187 deleted

comment:10 Changed 4 months ago by git

  • Commit changed from 9b388ea6e2ab3f2690e61753182acecceef33464 to e7ff2a83a3718923588f56a06c073721b2d18d8b

Branch pushed to git repo; I updated commit sha1. New commits:

e7ff2a8build/pkgs/gcc/spkg-configure.m4: Fixup

comment:11 Changed 4 months ago by git

  • Commit changed from e7ff2a83a3718923588f56a06c073721b2d18d8b to 0713f534c47ec586e485bd2e688fdf7fe4a80f53

Branch pushed to git repo; I updated commit sha1. New commits:

0713f53.github/workflows/tox*.yml: Replace ubuntu-xenial by ubuntu-xenial-toolchain-gcc_9

comment:12 Changed 3 months ago by mkoeppe

  • Reviewers set to https://github.com/mkoeppe/sage/actions/runs/2242737566, https://github.com/mkoeppe/sage/actions/runs/2242737575
  • Status changed from new to needs_review

comment:13 Changed 3 months ago by mkoeppe

  • Cc gh-kliem added

On ubuntu-trusty-toolchain-gcc_9-minimal (https://github.com/mkoeppe/sage/runs/6221011844), nauty, ecm, ntl fail with Error: operand size mismatch for vmovdqa64' or Error: operand size mismatch for vmovdqu64'; and fflas_ffpack fails with many different operand size mismatch errors.

Version 0, edited 3 months ago by mkoeppe (next)

comment:14 Changed 3 months ago by gh-kliem

I'm guessing the problem is in https://github.com/linbox-team/fflas-ffpack/blob/b51626baf2715c8b8bcb0c334856b204f9a4a901/fflas-ffpack/fflas/fflas_simd/simd512_double.inl

They are calling _mm512_and_pd with const __mm512d instead of just __m512d. The problem should mostly go away, because stuff is inlined, but it might fail with g++ 9.

It seems to work with g++ 11.3.0 for me. At least I cannot reproduce the bug, even though I have available the avx512... instructions. But then again, it works for the other workflows, so this doesn't seem to be a problem in other cases. Just in the toolchain-gcc_9-minimal workflow.

Can we configure fflas_ffpack with --disable-avx512dq in this case?

comment:15 follow-up: Changed 3 months ago by mkoeppe

I'll try first if installing binutils-2.26 (and setting PATH="/usr/lib/binutils-2.26/bin:$PATH") helps.

comment:16 Changed 3 months ago by git

  • Commit changed from 0713f534c47ec586e485bd2e688fdf7fe4a80f53 to dae2d08286e06f7a5a4c7e5e8931670ecfbda64a

Branch pushed to git repo; I updated commit sha1. New commits:

d650177Merge tag '9.6.rc2' into t/33316/drop_support_for_gcc___6_3_in_sage_9_7
a0e037fbuild/bin/write-dockerfile.sh [debian]: Handle EXTRA_PATH, EXTRA_SYSTEM_PACKAGES
dae2d08tox.ini (ubuntu-trusty-toolchain): Use binutils-2.26

comment:17 Changed 3 months ago by mkoeppe

  • Reviewers changed from https://github.com/mkoeppe/sage/actions/runs/2242737566, https://github.com/mkoeppe/sage/actions/runs/2242737575 to https://github.com/mkoeppe/sage/actions/runs/2260846479

comment:18 in reply to: ↑ 15 Changed 3 months ago by mkoeppe

Replying to mkoeppe:

I'll try first if installing binutils-2.26 (and setting PATH="/usr/lib/binutils-2.26/bin:$PATH") helps.

It seems to work. Ready for review

comment:19 Changed 3 months ago by git

  • Commit changed from dae2d08286e06f7a5a4c7e5e8931670ecfbda64a to 33ca13187c3f29b009e5e93f01d0e42fde64a713

Branch pushed to git repo; I updated commit sha1. New commits:

33ca131tox.ini, .github/workflows/tox*.yml: Add ubuntu-kinetic, linuxmint-21, fedora-37

comment:20 Changed 3 months ago by gh-kliem

  • Reviewers changed from https://github.com/mkoeppe/sage/actions/runs/2260846479 to Jonathan Kliem
  • Status changed from needs_review to positive_review

LGTM.

comment:21 Changed 3 months ago by mkoeppe

Thank you!

comment:22 follow-up: Changed 3 months ago by vbraun

  • Status changed from positive_review to needs_work

If configure doesn't find a supported version we should just install it instead of giving users instructions for other configure flags:

configure: error: 
    Given --with-system-gcc=force, but no system package could be used.
    That's an error.  Please install the indicated package to continue.
    (To override this error, use ./configure --without-system-gcc)

comment:23 in reply to: ↑ 22 Changed 3 months ago by dimpase

  • Status changed from needs_work to positive_review

Replying to vbraun:

If configure doesn't find a supported version we should just install it instead of giving users instructions for other configure flags:

configure: error: 
    Given --with-system-gcc=force, but no system package could be used.
    That's an error.  Please install the indicated package to continue.
    (To override this error, use ./configure --without-system-gcc)

Volker, it is not a bug, it is how =force option is meant to be.

comment:24 Changed 3 months ago by mkoeppe

For reference, this behavior was implemented in #32060.

comment:25 Changed 3 months ago by vbraun

  • Status changed from positive_review to needs_work

Breaks the Debian 9 buildbot, we can merge this after I get around to update the buildbot config

comment:26 follow-up: Changed 3 months ago by mkoeppe

  • Status changed from needs_work to positive_review

See #32074 - we're dropping support for Debian 9.

comment:27 follow-up: Changed 3 months ago by vbraun

Debian 9 is still LTS

comment:28 in reply to: ↑ 26 Changed 3 months ago by mkoeppe

Replying to mkoeppe:

See #32074 - we're dropping support for Debian 9.

Sorry, I was off by one. Debian 9 is fine. What's the problem on your buildbot?

comment:29 Changed 3 months ago by mkoeppe

  • Status changed from positive_review to needs_work

so needs_work but not on the ticket

comment:30 in reply to: ↑ 27 Changed 3 months ago by dimpase

Replying to vbraun:

Debian 9 is still LTS

but only till 01.07.2022, so we should be dropping it in 9.7, I guess.

Last edited 3 months ago by dimpase (previous) (diff)

comment:31 Changed 3 months ago by mkoeppe

  • Dependencies set to #33888
  • Status changed from needs_work to positive_review

comment:32 Changed 2 months ago by vbraun

  • Dependencies #33888 deleted

comment:33 Changed 2 months ago by vbraun

  • Status changed from positive_review to needs_work

Merge failure on top of:

08609a40ad Trac #33829: sage.graphs: Do not use SAGE_TMP in doctests

eca52b24ab Trac #33922: Add missing title to conf.py

e9bfcd2dd8 Trac #33980: codespell in graphs: fix a few typos

28f70e0932 Trac #31153: Fix latex of elements of multivariate polynomial quotient ring

b36c11c5d7 Trac #33983: sage_setup: Add missing dependency

6edac51d8b Trac #33970: Remove a period sneaked in the documentation website

6d60bf357f Trac #33977: fix pycodestyle E306 in geometry and schemes

edd7a74ed3 Trac #33976: some pycodestyle fixes in pxd and pxi files

b0973afaa7 Trac #33975: get rid of commented old-style prints

b3d6a0b8ff Trac #33956: some better .join with iterator inside

a33f2df893 Trac #33949: get rid of have_ring option in singular interface

ad1c3ac34f Trac #33946: fix pycodestyle E306 in rings and algebras

4942ca958b Trac #33945: fix pycodestyle E306 outside of algebras,rings,graphs,schemes,categories

8dad9ce80f Trac #30683: Nu Tamari

346b3b04a5 Trac #33968: Replace $...$ in docstrings by ...

f793558dd1 Trac #33967: sage -t: Print git commit hash and SAGE_LOCAL, SAGE_VENV

0e48fececd Trac #33963: wrong sign for symbolic Legendre polynomial at 0

34d562ee2b Trac #33962: wrong sign for value of Legendre polynomial at 0

bd33f87651 Trac #33961: compute square roots modulo powers of two in polynomial time

16af958d67 Trac #33940: enhance maple interface

8d921a4996 Trac #33872: Upgrade memory allocator to 0.1.3

29499f89e2 Trac #33871: Don't run singular in spkg-configure.m4 when cross compiling

4cc978b96c Trac #33823: sage -t --optional='sage,!FEATURE'

6b6f0cf0f4 Trac #33776: move method distance_graph to graph.py

65e866a5b1 Trac #23443: More Schubert polynomial shenanigans

a6e696e91d Updated SageMath version to 9.7.beta2

merge was not clean: conflicts in .github/workflows/tox.yml

comment:34 Changed 2 months ago by git

  • Commit changed from 33ca13187c3f29b009e5e93f01d0e42fde64a713 to 7c0072ee09ae13eb519c42fbe1728bcee7ae6cd7

Branch pushed to git repo; I updated commit sha1. New commits:

7c0072eMerge tag '9.7.beta2' into t/33316/drop_support_for_gcc___6_3_in_sage_9_7

comment:35 Changed 2 months ago by mkoeppe

  • Status changed from needs_work to positive_review

comment:36 Changed 8 weeks ago by vbraun

  • Branch changed from u/mkoeppe/drop_support_for_gcc___6_3_in_sage_9_7 to 7c0072ee09ae13eb519c42fbe1728bcee7ae6cd7
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.