sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.43k stars 479 forks source link

Drop support for GCC < 6.3 in Sage 9.7 #33316

Closed mkoeppe closed 2 years ago

mkoeppe commented 2 years ago

(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.

CC: @dimpase @kliem

Component: build: configure

Author: Matthias Koeppe

Branch/Commit: 7c0072e

Reviewer: Jonathan Kliem

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

mkoeppe commented 2 years ago

Dependencies: #33187

mkoeppe commented 2 years ago

Branch: u/mkoeppe/drop_support_for_gcc___6_3_in_sage_9_7

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

bf96a8aREADME.md, src/doc/en/installation/source.rst: Update info on GCC versions
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Commit: bf96a8a

mkoeppe commented 2 years ago

Author: Matthias Koeppe

mkoeppe commented 2 years ago

Work Issues: Update platforms tested on GH Actions, best on top of #33062

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from bf96a8a to 4e8b2c2

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

9b388ea.github/workflows/tox*.yml: Update platforms for drop of GCC < 6.3
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 4e8b2c2 to 9b388ea

mkoeppe commented 2 years ago

Changed work issues from Update platforms tested on GH Actions, best on top of #33062 to none

mkoeppe commented 2 years ago

Changed dependencies from #33187 to none

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

e7ff2a8build/pkgs/gcc/spkg-configure.m4: Fixup
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 9b388ea to e7ff2a8

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from e7ff2a8 to 0713f53

mkoeppe commented 2 years ago

Reviewer: https://github.com/mkoeppe/sage/actions/runs/2242737566, https://github.com/mkoeppe/sage/actions/runs/2242737575

mkoeppe commented 2 years ago
comment:13

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

kliem commented 2 years ago
comment:14

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?

mkoeppe commented 2 years ago
comment:15

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

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 0713f53 to dae2d08

mkoeppe commented 2 years ago

Changed reviewer 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

mkoeppe commented 2 years ago
comment:18

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

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from dae2d08 to 33ca131

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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

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

Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/2260846479 to Jonathan Kliem

kliem commented 2 years ago
comment:20

LGTM.

mkoeppe commented 2 years ago
comment:21

Thank you!

vbraun commented 2 years ago
comment:22

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)
dimpase commented 2 years ago
comment:23

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.

mkoeppe commented 2 years ago
comment:24

For reference, this behavior was implemented in #32060.

vbraun commented 2 years ago
comment:25

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

mkoeppe commented 2 years ago
comment:26

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

vbraun commented 2 years ago
comment:27

Debian 9 is still LTS

mkoeppe commented 2 years ago
comment:28

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?

mkoeppe commented 2 years ago
comment:29

so needs_work but not on the ticket

dimpase commented 2 years ago
comment:30

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.

mkoeppe commented 2 years ago

Dependencies: #33888

vbraun commented 2 years ago

Changed dependencies from #33888 to none

vbraun commented 2 years ago
comment:33

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

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 2 years ago

Changed commit from 33ca131 to 7c0072e

vbraun commented 2 years ago

Changed branch from u/mkoeppe/drop_support_for_gcc___6_3_in_sage_9_7 to 7c0072e