Opened 16 months ago

Closed 4 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 16 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 11 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:3 Changed 6 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 6 months ago by mkoeppe

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

comment:5 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 6 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 5 months ago by mkoeppe

  • Cc dimpase added
  • Priority changed from major to critical

comment:8 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:9 Changed 5 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 5 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 5 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 5 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 5 months ago by mkoeppe

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

comment:14 Changed 5 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 5 months ago by mkoeppe (previous) (diff)

comment:15 Changed 5 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 5 months ago by mkoeppe

  • Cc fbissey enriqueartal added

comment:17 Changed 5 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 5 months ago by mkoeppe

... unless this helps with Big Sur?

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

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

comment:20 Changed 5 months ago by mkoeppe

In any case... needs review

comment:21 Changed 5 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 5 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 5 months ago by mkoeppe

Thanks

comment:24 in reply to: ↑ 19 Changed 5 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 5 months ago by mkoeppe

  • Priority changed from major to blocker

comment:26 Changed 5 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 5 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 4 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.