Drop support for GCC < 6.3 in Sage 9.7
Closed this issue · 44 comments
(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.
Component: build: configure
Author: Matthias Koeppe
Branch/Commit: 7c0072e
Reviewer: Jonathan Kliem
Issue created by migration from https://trac.sagemath.org/ticket/33316
Branch pushed to git repo; I updated commit sha1. New commits:
bf96a8a | README.md, src/doc/en/installation/source.rst: Update info on GCC versions |
Commit: bf96a8a
Author: Matthias Koeppe
Branch pushed to git repo; I updated commit sha1. New commits:
9b388ea | .github/workflows/tox*.yml: Update platforms for drop of GCC < 6.3 |
Changed work issues from Update platforms tested on GH Actions, best on top of #33062 to none
Branch pushed to git repo; I updated commit sha1. New commits:
e7ff2a8 | build/pkgs/gcc/spkg-configure.m4: Fixup |
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 |
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 for vmovdqa64'orError: operand size mismatch for vmovdqu64'; and fflas_ffpack fails with many different operand size mismatch errors.
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?
I'll try first if installing binutils-2.26 (and setting PATH="/usr/lib/binutils-2.26/bin:$PATH") helps.
Replying to @mkoeppe:
I'll try first if installing
binutils-2.26(and settingPATH="/usr/lib/binutils-2.26/bin:$PATH") helps.
It seems to work. Ready for review
Branch pushed to git repo; I updated commit sha1. New commits:
33ca131 | tox.ini, .github/workflows/tox*.yml: Add ubuntu-kinetic, linuxmint-21, fedora-37 |
Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/2260846479 to Jonathan Kliem
LGTM.
Thank you!
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)
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.
Breaks the Debian 9 buildbot, we can merge this after I get around to update the buildbot config
Debian 9 is still LTS
so needs_work but not on the ticket
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.
Merge failure on top of:
08609a40ad Trac #33829: sage.graphs: Do not use SAGE_TMP in doctests
eca52b2 Trac #33922: Add missing title to conf.py
e9bfcd2 Trac #33980: codespell in graphs: fix a few typos
28f70e0 Trac #31153: Fix latex of elements of multivariate polynomial quotient ring
b36c11c Trac #33983: sage_setup: Add missing dependency
6edac51 Trac #33970: Remove a period sneaked in the documentation website
6d60bf3 Trac #33977: fix pycodestyle E306 in geometry and schemes
edd7a74 Trac #33976: some pycodestyle fixes in pxd and pxi files
b0973af Trac #33975: get rid of commented old-style prints
b3d6a0b Trac #33956: some better .join with iterator inside
a33f2df Trac #33949: get rid of have_ring option in singular interface
ad1c3ac Trac #33946: fix pycodestyle E306 in rings and algebras
4942ca9 Trac #33945: fix pycodestyle E306 outside of algebras,rings,graphs,schemes,categories
8dad9ce Trac #30683: Nu Tamari
346b3b0 Trac #33968: Replace ...
f793558 Trac #33967: sage -t: Print git commit hash and SAGE_LOCAL, SAGE_VENV
0e48fec Trac #33963: wrong sign for symbolic Legendre polynomial at 0
34d562e Trac #33962: wrong sign for value of Legendre polynomial at 0
bd33f87 Trac #33961: compute square roots modulo powers of two in polynomial time
16af958 Trac #33940: enhance maple interface
8d921a4 Trac #33872: Upgrade memory allocator to 0.1.3
29499f8 Trac #33871: Don't run singular in spkg-configure.m4 when cross compiling
4cc978b Trac #33823: sage -t --optional='sage,!FEATURE'
6b6f0cf Trac #33776: move method distance_graph to graph.py
65e866a Trac #23443: More Schubert polynomial shenanigans
a6e696e Updated SageMath version to 9.7.beta2
merge was not clean: conflicts in .github/workflows/tox.yml
Branch pushed to git repo; I updated commit sha1. New commits:
7c0072e | Merge tag '9.7.beta2' into t/33316/drop_support_for_gcc___6_3_in_sage_9_7 |
Changed branch from u/mkoeppe/drop_support_for_gcc___6_3_in_sage_9_7 to 7c0072e