Opened 2 years ago

Closed 15 months ago

#29703 closed enhancement (fixed)

Upgrade gcc to 10.3 (latest 10.x)

Reported by: mkoeppe Owned by:
Priority: blocker Milestone: sage-9.4
Component: packages: standard Keywords:
Cc: gh-zlscherr, jhpalmieri, dimpase, vbraun, fbissey, enriqueartal Merged in:
Authors: Matthias Koeppe Reviewers: Dima Pasechnik
Report Upstream: N/A Work issues:
Branch: 22c050a (Commits, GitHub, GitLab) Commit: 22c050ad6060bbb820b3acbeeebe1c3fa225e47a
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

Follow-up from #29674 (fedora-32: If gcc 10 is found, install gcc spkg; fix building gcc (9.2.0) spkg with gcc 10). As noted there, on many systems, building --without-system-gcc fails.

gcc 10.3 was released 2021-04-08.

Potentially helpful for fedora-34 (released end of April 2021), which uses gcc 11, which our configure script rejects.

We also need a newer gcc to provide a gfortran for macOS builds (homebrew-macos-minimal, macos-nohomebrew) on Big Sur

homebrew:

macports:

See also:

Change History (28)

comment:1 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 22 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:3 Changed 17 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Upgrade gcc to latest 9.x, fix --without-system-gcc builds to Upgrade gcc to latest 10.x, fix --without-system-gcc builds

comment:4 Changed 17 months ago by mkoeppe

  • Cc gh-zlscherr jhpalmieri added
  • Description modified (diff)

comment:5 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 17 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

comment:7 Changed 16 months ago by mkoeppe

  • Cc dimpase added
  • Priority changed from major to critical

comment:8 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:9 Changed 16 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Upgrade gcc to latest 10.x, fix --without-system-gcc builds to Upgrade gcc to 10.3 (latest 10.x), fix --without-system-gcc builds

comment:10 Changed 16 months ago by mkoeppe

  • Branch set to u/mkoeppe/upgrade_gcc_to_10_3__latest_10_x___fix___without_system_gcc_builds

comment:11 Changed 16 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Commit set to 22c050ad6060bbb820b3acbeeebe1c3fa225e47a
  • Status changed from new to needs_review

New commits:

22c050abuild/pkgs/gcc: Update to 10.3.0

comment:12 Changed 16 months ago by mkoeppe

  • Reviewers set to https://github.com/mkoeppe/sage/actions/runs/807684403, https://github.com/mkoeppe/sage/actions/runs/807684401, https://github.com/mkoeppe/sage/actions/runs/807684408

comment:13 Changed 16 months ago by mkoeppe

  • Cc vbraun added
  • Milestone changed from sage-9.4 to sage-9.3

comment:14 Changed 15 months ago by mkoeppe

local build (with make gcc) fails on homebrew-macos

In file included from ../../src/gcc/gengtype.c:26:
../../src/gcc/system.h:544:20: error: conflicting declaration of C function 'const char* strsignal(int)'
  544 | extern const char *strsignal (int);
      |                    ^~~~~~~~~
In file included from /Users/mkoeppe/s/sage/sage-rebasing/worktree-gcc11/local/var/tmp/sage/build/gcc-10.3.0/gcc-build/prev-x86_64-apple-darwin19.6.0/libstdc++-v3/include/cstring:42,
                 from ../../src/gcc/system.h:235,
                 from ../../src/gcc/gengtype.c:26:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/string.h:134:7: note: previous declaration 'char* strsignal(int)'
  134 | char *strsignal(int __sig);
      |       ^~~~~~~~~
make[6]: *** [build/sort.o] Error 1
make[6]: *** [build/gengtype-parse.o] Error 1
make[6]: *** [build/gengenrtl.o] Error 1

But it did not work with the previous version either.

Last edited 15 months ago by mkoeppe (previous) (diff)

comment:15 Changed 15 months ago by mkoeppe

Looking fine for Linux and macOS (-minimal configurations where we build gfortran from the spkg) - https://github.com/mkoeppe/sage/runs/2494424419

comment:16 Changed 15 months ago by mkoeppe

  • Cc fbissey enriqueartal added

comment:17 Changed 15 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-9.3 to sage-9.4
  • Priority changed from critical to major

However, this upgrade does NOT fix #31624 (fedora-34-standard: eclib, singular build failures with system ntl). https://github.com/mkoeppe/sage/runs/2494425736

So there is no urgency to this upgrade.

comment:18 Changed 15 months ago by mkoeppe

... unless this helps with Big Sur?

comment:19 follow-up: Changed 15 months ago by dimpase

let's not duplicate the efforts of Homebree and Conda...

comment:20 Changed 15 months ago by mkoeppe

In any case... needs review

comment:21 Changed 15 months ago by dimpase

  • Reviewers changed from https://github.com/mkoeppe/sage/actions/runs/807684403, https://github.com/mkoeppe/sage/actions/runs/807684401, https://github.com/mkoeppe/sage/actions/runs/807684408 to Dima Pasechnik
  • Status changed from needs_review to positive_review

good to get rid of patches.

comment:22 Changed 15 months ago by mkoeppe

  • Summary changed from Upgrade gcc to 10.3 (latest 10.x), fix --without-system-gcc builds to Upgrade gcc to 10.3 (latest 10.x)

comment:23 Changed 15 months ago by mkoeppe

Thanks

comment:24 in reply to: ↑ 19 Changed 15 months ago by mkoeppe

Replying to dimpase:

let's not duplicate the efforts of Homebree and Conda...

And here we go. Our Sage 9.3 does not build with Big Sur / Homebrew - as just reported https://groups.google.com/g/sage-devel/c/Yut08rvqgvg/m/9uD4W6hFBAAJ

comment:25 Changed 15 months ago by mkoeppe

  • Priority changed from major to blocker

comment:26 Changed 15 months ago by dimpase

we need a proper formula for building Sage using Homebrew, then we can pin versions of dependencies etc.

comment:27 Changed 15 months ago by mkoeppe

Downstream packaging is traditionally considered not part of the upstream project. But if you want to work on it, this would certainly be valuable to some mac users. But lots of packages are missing on homebrew, so you'd be ... duplicating packaging work that has already been done in conda-forge.

comment:28 Changed 15 months ago by vbraun

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