Opened 2 years ago

Closed 17 months ago

#29703 closed enhancement (fixed)

Upgrade gcc to 10.3 (latest 10.x)

Reported by: Matthias Köppe Owned by:
Priority: blocker Milestone: sage-9.4
Component: packages: standard Keywords:
Cc: Zachary L Scherr, John Palmieri, Dima Pasechnik, Volker Braun, François Bissey, Enrique Artal Bartolo 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 Matthias Köppe)

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 Matthias Köppe

Description: modified (diff)

comment:2 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:3 Changed 19 months ago by Matthias Köppe

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

comment:4 Changed 19 months ago by Matthias Köppe

Cc: Zachary L Scherr John Palmieri added
Description: modified (diff)

comment:5 Changed 19 months ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 19 months ago by Matthias Köppe

Milestone: sage-9.3sage-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 17 months ago by Matthias Köppe

Cc: Dima Pasechnik added
Priority: majorcritical

comment:8 Changed 17 months ago by Matthias Köppe

Description: modified (diff)

comment:9 Changed 17 months ago by Matthias Köppe

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

comment:10 Changed 17 months ago by Matthias Köppe

Branch: u/mkoeppe/upgrade_gcc_to_10_3__latest_10_x___fix___without_system_gcc_builds

comment:11 Changed 17 months ago by Matthias Köppe

Authors: Matthias Koeppe
Commit: 22c050ad6060bbb820b3acbeeebe1c3fa225e47a
Status: newneeds_review

New commits:

22c050abuild/pkgs/gcc: Update to 10.3.0

comment:12 Changed 17 months ago by Matthias Köppe

Reviewers: 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 17 months ago by Matthias Köppe

Cc: Volker Braun added
Milestone: sage-9.4sage-9.3

comment:14 Changed 17 months ago by Matthias Köppe

local build 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
Version 0, edited 17 months ago by Matthias Köppe (next)

comment:15 Changed 17 months ago by Matthias Köppe

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 17 months ago by Matthias Köppe

Cc: François Bissey Enrique Artal Bartolo added

comment:17 Changed 17 months ago by Matthias Köppe

Description: modified (diff)
Milestone: sage-9.3sage-9.4
Priority: criticalmajor

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 17 months ago by Matthias Köppe

... unless this helps with Big Sur?

comment:19 Changed 17 months ago by Dima Pasechnik

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

comment:20 Changed 17 months ago by Matthias Köppe

In any case... needs review

comment:21 Changed 17 months ago by Dima Pasechnik

Reviewers: https://github.com/mkoeppe/sage/actions/runs/807684403, https://github.com/mkoeppe/sage/actions/runs/807684401, https://github.com/mkoeppe/sage/actions/runs/807684408Dima Pasechnik
Status: needs_reviewpositive_review

good to get rid of patches.

comment:22 Changed 17 months ago by Matthias Köppe

Summary: Upgrade gcc to 10.3 (latest 10.x), fix --without-system-gcc buildsUpgrade gcc to 10.3 (latest 10.x)

comment:23 Changed 17 months ago by Matthias Köppe

Thanks

comment:24 in reply to:  19 Changed 17 months ago by Matthias Köppe

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 17 months ago by Matthias Köppe

Priority: majorblocker

comment:26 Changed 17 months ago by Dima Pasechnik

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

comment:27 Changed 17 months ago by Matthias Köppe

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 17 months ago by Volker Braun

Branch: u/mkoeppe/upgrade_gcc_to_10_3__latest_10_x___fix___without_system_gcc_builds22c050ad6060bbb820b3acbeeebe1c3fa225e47a
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.