Opened 13 months ago
Closed 10 months ago
#31786 closed enhancement (fixed)
Accept gcc 11 (for fedora 34)
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | sage-9.4 |
Component: | build | Keywords: | |
Cc: | gh-zlscherr, jhpalmieri, dimpase, fbissey, enriqueartal, vbraun | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | Dima Pasechnik |
Report Upstream: | N/A | Work issues: | |
Branch: | f47c47e (Commits, GitHub, GitLab) | Commit: | f47c47e4560c449524a77daa7cc17f4e630e8483 |
Dependencies: | Stopgaps: |
Description (last modified by )
After having resolved the following blockers:
- #29703 Upgrade gcc to 10.3 (latest 10.x), fix --without-system-gcc builds
- #31624 fedora-34-standard: eclib, singular build failures with system ntl
- #31838 gfortran: Accept system gfortran 11
- #31879/#27901
libgd
- #31694 pynac fails to compile with gcc-11 (headers porting) https://github.com/pynac/pynac/pull/375
- #32093
ecl
: AddSAGE_SPKG_DEPCHECK
forgcc
- #31837
lcalc
headers prevent sage compilation https://github.com/cschwan/sage-on-gentoo/issues/634 and https://github.com/cschwan/sage-on-gentoo/blob/master/sci-mathematics/lcalc/files/lcalc-1.23-gcc11.patch - #31832 fplll fails to compile with gcc-11 (headers porting) https://github.com/fplll/fplll/pull/463
- gcc 10 build fails in some circumstances on Fedora 34 (https://groups.google.com/g/sage-devel/c/LcQ3ufUOJpI/m/lOsDMZ0qBQAJ, https://gcc.gnu.org/pipermail/gcc-help/2021-June/140439.html)
... we accept gcc 11 again. This will allow building Sage with the default compilers on Fedora 34 and other platforms.
Not so urgent:
- giac (any versions) doesn't compile with std=c++17 https://bugs.gentoo.org/788283
- Optional package
latte_int
doesn't compile with std=c++17 (exception handling) https://github.com/latte-int/latte/issues/24
Change History (36)
comment:1 Changed 13 months ago by
comment:2 Changed 13 months ago by
- Description modified (diff)
comment:3 Changed 13 months ago by
- Description modified (diff)
Note that issue of standard do not arise in vanilla sage since we enforce std=c++11. However, issues with headers are not prevented by sticking to that standard, which means the following have to be fixed in any case:
- fplll
- pynac
- lcalc
Others can be delayed.
comment:4 Changed 12 months ago by
- Description modified (diff)
comment:5 Changed 12 months ago by
- Description modified (diff)
comment:6 Changed 12 months ago by
- Description modified (diff)
comment:7 Changed 12 months ago by
- Description modified (diff)
comment:8 Changed 12 months ago by
- Branch set to u/mkoeppe/meta_ticket__support_gcc_11__fedora_34_
comment:9 Changed 12 months ago by
- Commit set to 5486f814f2b1b2210ca253b6b4c342b9b1a0bc8f
- Description modified (diff)
comment:10 Changed 12 months ago by
- Description modified (diff)
comment:11 Changed 12 months ago by
The compilation failed with lcalc and pynac. The other packages in the introduction have been built, except for fplll which did not appear.
comment:12 Changed 12 months ago by
Workaround for libgd is at #31879
comment:13 Changed 12 months ago by
- Description modified (diff)
comment:14 Changed 11 months ago by
- Description modified (diff)
comment:15 Changed 11 months ago by
rebase please
comment:16 Changed 11 months ago by
- Branch u/mkoeppe/meta_ticket__support_gcc_11__fedora_34_ deleted
- Commit 5486f814f2b1b2210ca253b6b4c342b9b1a0bc8f deleted
The branch is no longer relevant, all tickets have been merged
comment:17 follow-up: ↓ 18 Changed 11 months ago by
By the way, a viable route to work on Fedora 34 might be to use clang rather than gcc.
dnf install clang CC=clang CXX=clang++ ./configure...
Do we test Linux/clang on GH Actions? We should...
comment:18 in reply to: ↑ 17 Changed 11 months ago by
comment:19 Changed 11 months ago by
we see Maxima builds failing in Fedora 34 on the latests CI runs, see e.g. https://github.com/sagemath/sagetrac-mirror/runs/2918514130
comment:20 Changed 11 months ago by
earlier in that log:
;;; (EXT:RUN-PROGRAM "gcc" ("-I." "-I/usr/include/" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-O2" "-flto=auto" "-ffat-lto-objects" "-fexceptions" "-g" "-grecord-gcc-switches" "-pipe" "-Wall" "-Werror=format-security" "-Wp,-D_FORTIFY_SOURCE=2" "-Wp,-D_GLIBCXX_ASSERTIONS" "-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1" "-fstack-protector-strong" "-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1" "-m64" "-mtune=generic" "-fasynchronous-unwind-tables" "-fstack-clash-protection" "-fcf-protection" "-Wno-unused" "-Wno-return-type" "-Wno-unknown-pragmas" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-O2" "-c" "binary-ecl/maxima-package.c" "-o" "binary-ecl/maxima-package.o")): ;;; cc1: fatal error: inaccessible plugin file /sage/local/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/annobin.so expanded from short plugin name annobin: No such file or directory ;;; compilation terminated. ; - Loading binary file "binary-ecl/maxima-package.fas" Condition of type: FILE-ERROR Filesystem error with pathname #P"/sage/local/var/tmp/sage/build/maxima-5.45.0/src/src/binary-ecl/maxima-package.fas".
comment:21 Changed 11 months ago by
Looks like combining system ecl
with our gcc
does not work because it uses Fedora-specific compiler options.
This will go away when we can accept system gcc11...
comment:22 Changed 11 months ago by
that annobin-related gcc/ecl bug was also reported on sage-devel
Redhat/Fedora? does something special with annobin, perhaps that's the fallout we see here
comment:23 Changed 11 months ago by
I've opened #32093 for this
comment:24 Changed 11 months ago by
- Description modified (diff)
comment:25 Changed 11 months ago by
- Branch set to u/mkoeppe/meta_ticket__support_gcc_11__fedora_34_
comment:26 Changed 11 months ago by
- Commit set to f47c47e4560c449524a77daa7cc17f4e630e8483
- Dependencies set to #31694, #32093, #31837
Last 10 new commits:
3c131f7 | wip tarball
|
11c80aa | updated tarball with PRs 377 and 378
|
c9c50e3 | build/pkgs/pynac: Upgrade to 0.7.29
|
ee34993 | Merge #31694
|
228ea28 | build/pkgs/ecl/spkg-configure.m4: Add SAGE_SPKG_DEPCHECK for gcc
|
a22e24c | Merge #32093
|
5023898 | build/pkgs/lcalc/patches: Add https://github.com/cschwan/sage-on-gentoo/blob/master/sci-mathematics/lcalc/files/lcalc-1.23-gcc11.patch
|
26caef1 | build/pkgs/lcalc/patches: Remove the superseded Lcommon.h.patch
|
6340e53 | Merge #31837
|
f47c47e | build/pkgs/gcc/spkg-configure.m4, .homebrew-build-env: Accept gcc 11.x
|
comment:27 Changed 11 months ago by
- Priority changed from major to blocker
- Reviewers set to https://github.com/mkoeppe/sage/actions/runs/984105414
- Status changed from new to needs_review
comment:28 Changed 11 months ago by
Does this work with #32037 and without lcalc patch?
comment:29 follow-up: ↓ 30 Changed 11 months ago by
This is unknown. I don't think portability testing has been run on #32037.
comment:30 in reply to: ↑ 29 Changed 11 months ago by
Replying to mkoeppe:
This is unknown. I don't think portability testing has been run on #32037.
they are now running on https://github.com/sagemath/sagetrac-mirror/actions/runs/1009717554
comment:31 Changed 11 months ago by
gengetopt does not build on ubunty-trusty. Arrgh...
comment:32 Changed 10 months ago by
- Cc vbraun added
- Dependencies #31694, #32093, #31837 deleted
- Description modified (diff)
- Summary changed from Meta-ticket: Support gcc 11 (fedora 34) to Accept gcc 11 (for fedora 34)
With all dependencies now merged in 9.4.beta5, let's get this in please.
comment:33 Changed 10 months ago by
- Reviewers changed from https://github.com/mkoeppe/sage/actions/runs/984105414 to Dima Pasechnik
- Status changed from needs_review to positive_review
I believe it actually works on Fedora 34, right?
comment:34 Changed 10 months ago by
Thanks, yes, I think so
comment:35 Changed 10 months ago by
It works for me in Fedora 34
comment:36 Changed 10 months ago by
- Branch changed from u/mkoeppe/meta_ticket__support_gcc_11__fedora_34_ to f47c47e4560c449524a77daa7cc17f4e630e8483
- Resolution set to fixed
- Status changed from positive_review to closed
I didn't have any problems in Gentoo with
eclib
andntl
.