Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#14378 closed enhancement (fixed)

Upgrade GCC to 4.7.2

Reported by: jdemeyer Owned by: jdemeyer
Priority: major Milestone: sage-5.9
Component: packages: standard Keywords: spkg
Cc: jpflori Merged in: sage-5.9.beta4
Authors: Jeroen Demeyer Reviewers: Volker Braun, Jean-Pierre Flori
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #14226, #14415 Stopgaps:

Status badges

Description (last modified by jdemeyer)

spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.2.p1.spkg (diff)

apply 14378_gcc_version.patch to SAGE_ROOT.

gcc-4.7.2.p1 (Jeroen Demeyer, 4 April 2013)

  • Trac #14378: Use $SAGE_SPKG_INST variable.
  • Disable bootstrap-debug on all systems.
  • Remove libitm which is broken on OS X 10.4 PPC.

Attachments (2)

14378_gcc_version.patch (2.0 KB) - added by jdemeyer 9 years ago.
gcc-4.7.2.p1.diff (2.1 KB) - added by jdemeyer 9 years ago.

Download all attachments as: .zip

Change History (40)

comment:1 Changed 9 years ago by jdemeyer

  • Dependencies set to #14226
  • Description modified (diff)

comment:2 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:3 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:4 Changed 9 years ago by jpflori

  • Cc jpflori added

comment:5 follow-up: Changed 9 years ago by jpflori

Could you include the Solaris fix to prevent debug things as we discussed on sage-???. This is the same fix as for old OS X.

comment:6 Changed 9 years ago by leif

  • Keywords spkg added

Afterwards create an optional GCC 4.8.0 spkg ... :-)

[Needs a C++ compiler to bootstrap, I know, but nvm.]


Haven't looked or tried whether that's still an issue, but at some point in the past the GCC spkg failed to build when encountering parts of CLooG and/or PPL. (We may add --without-* and/or --disable-lto.)

comment:7 Changed 9 years ago by jpflori

I think we should also keep the 4.6.x series as optional spkg. Jeroen proposed to do it IIRC, so consider this message to be just a reminder.

comment:8 Changed 9 years ago by jpflori

And I agree with the patch you posted for GCC versions checks. Just a little typo:

echo >&2 "gcc <= 4.5 fails to compile PARI/GP om ia64." 

comment:9 in reply to: ↑ 5 Changed 9 years ago by jdemeyer

Replying to jpflori:

Could you include the Solaris fix to prevent debug things as we discussed on sage-???. This is the same fix as for old OS X.

Sorry, I don't know what you mean.

Changed 9 years ago by jdemeyer

comment:11 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:12 Changed 9 years ago by jdemeyer

  • Status changed from new to needs_review

comment:13 Changed 9 years ago by jpflori

FYI, I rebuilt GCC more "correctly" using Sun as and ld and the BUILD_CONFIG trick was not needed anymore, not that I'm suggesting to do as before and only use it on OS X 10.4.

comment:14 Changed 9 years ago by jdemeyer

I have tested this on the buildbot and there are no problems at all.

comment:15 follow-up: Changed 9 years ago by vbraun

  • Reviewers set to Volker Braun
  • Status changed from needs_review to positive_review

Looks good to me.

How are we keeping gcc 4.6 as optional spkg? Rename it to gcc46-4.6.3.spkg?

comment:16 Changed 9 years ago by jdemeyer

  • Merged in set to sage-5.9.beta3
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:17 in reply to: ↑ 15 Changed 9 years ago by jdemeyer

Replying to vbraun:

How are we keeping gcc 4.6 as optional spkg? Rename it to gcc46-4.6.3.spkg?

Just put it with the optional packages, no need to rename it.

comment:18 follow-up: Changed 9 years ago by vbraun

Is there a way to disambiguate between standard and optional spkg when running sage -f <package>?

comment:19 in reply to: ↑ 18 Changed 9 years ago by jdemeyer

Replying to vbraun:

Is there a way to disambiguate between standard and optional spkg when running sage -f <package>?

You can always do

./sage -i spkg/standard/gcc-4.7.2.p1.spkg

or

./sage -i http://www.sagemath.org/packages/optional/gcc-4.6.3.spkg

No need to differentiate then.

Or also

./sage -i gcc-4.6.3.spkg

comment:20 Changed 9 years ago by jdemeyer

  • Merged in changed from sage-5.9.beta3 to sage-5.9.beta4

comment:21 Changed 9 years ago by jdemeyer

  • Resolution fixed deleted
  • Status changed from closed to new

This doesn't actually build on OS X 10.4 PPC (as reported on sage-devel). But it seems that the problem lies with libitm, which is a non-critical part of GCC.

comment:22 Changed 9 years ago by jdemeyer

  • Merged in sage-5.9.beta4 deleted

Changed 9 years ago by jdemeyer

comment:23 Changed 9 years ago by jdemeyer

Removed libitm, testing now on OS X 10.4 PPC.

comment:24 Changed 9 years ago by jdemeyer

  • Dependencies changed from #14226 to #14226, #14415
  • Description modified (diff)
  • Status changed from new to needs_review

comment:25 Changed 9 years ago by jpflori

For future reference, the bug linked in the sage-devel post at https://groups.google.com/d/msg/sage-devel/DhJcPuFIlPo/wu3sv6nQLIgJ seems to be the upstream report: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52482 (as reported in the post itself, nothing new here).

comment:26 Changed 9 years ago by jpflori

  • Reviewers changed from Volker Braun to Volker Braun, Jean-Pierre Flori
  • Status changed from needs_review to positive_review

comment:27 Changed 9 years ago by jpflori

Looks fine, compile on a usual Linux and works there. Also seems to be going fine on a Linux ppc, so positive review.

comment:28 Changed 9 years ago by jdemeyer

  • Merged in set to sage-5.9.beta4
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:29 Changed 9 years ago by jdemeyer

Follow-up: #14441

comment:30 follow-up: Changed 9 years ago by jhpalmieri

I can't get this to build in iras: see log file. Note that it actually creates the various binaries in local/bin, so that further attempts (using, say, the 4.7.3 package at #14441 fail because "configure: error: C compiler cannot create executables". I'm trying to clear out local/bin and try 4.7.3 again. Other suggestions?

comment:31 in reply to: ↑ 30 ; follow-up: Changed 9 years ago by jdemeyer

Replying to jhpalmieri:

I can't get this to build in iras: see log file.

Could you please try a serial build (no MAKE -jN) and post the log file of that if it fails.

I'm trying to clear out local/bin and try 4.7.3 again.

Removing just the gcc, g++ and gfortran executables should be sufficient to force the use of the system gcc to build GCC.

comment:32 in reply to: ↑ 31 ; follow-up: Changed 9 years ago by jhpalmieri

Replying to jdemeyer:

Replying to jhpalmieri:

I can't get this to build in iras: see log file.

Could you please try a serial build (no MAKE -jN) and post the log file of that if it fails.

A serial build of 4.7.2 succeeded. Should the spkg force that on ia64 machines?

comment:33 in reply to: ↑ 32 ; follow-up: Changed 9 years ago by leif

Replying to jhpalmieri:

Replying to jdemeyer:

Replying to jhpalmieri:

I can't get this to build in iras: see log file.

Could you please try a serial build (no MAKE -jN) and post the log file of that if it fails.

A serial build of 4.7.2 succeeded. Should the spkg force that on ia64 machines?

Without having looked at the log: Are you sure this is related to the architecture (and not just caused by the usual clock skew on Skynet)?

comment:34 in reply to: ↑ 33 ; follow-up: Changed 9 years ago by jhpalmieri

Replying to leif:

Replying to jhpalmieri:

Replying to jdemeyer:

Replying to jhpalmieri:

I can't get this to build in iras: see log file.

Could you please try a serial build (no MAKE -jN) and post the log file of that if it fails.

A serial build of 4.7.2 succeeded. Should the spkg force that on ia64 machines?

Without having looked at the log: Are you sure this is related to the architecture (and not just caused by the usual clock skew on Skynet)?

I have no idea. How would I check?

comment:35 in reply to: ↑ 34 ; follow-up: Changed 9 years ago by leif

Replying to jhpalmieri:

Replying to leif:

Replying to jhpalmieri:

Replying to jdemeyer:

Replying to jhpalmieri:

I can't get this to build in iras: see log file.

Could you please try a serial build (no MAKE -jN) and post the log file of that if it fails.

A serial build of 4.7.2 succeeded. Should the spkg force that on ia64 machines?

Without having looked at the log: Are you sure this is related to the architecture (and not just caused by the usual clock skew on Skynet)?

I have no idea. How would I check?

(Move the whole Sage installation and) build the GCC spkg (in parallel) below /tmp (which on Skynet is always on local media I think)?

comment:36 in reply to: ↑ 35 ; follow-up: Changed 9 years ago by jhpalmieri

Replying to leif:

(Move the whole Sage installation and) build the GCC spkg (in parallel) below /tmp (which on Skynet is always on local media I think)?

I tried that, but it failed with "no space left on device". There are close to 40000 files and/or directories in /tmp on iras, most or all of which should be cleaned out...

comment:37 in reply to: ↑ 36 Changed 9 years ago by leif

Replying to jhpalmieri:

Replying to leif:

(Move the whole Sage installation and) build the GCC spkg (in parallel) below /tmp (which on Skynet is always on local media I think)?

I tried that, but it failed with "no space left on device". There are close to 40000 files and/or directories in /tmp on iras, most or all of which should be cleaned out...

OMG, I see...

I deleted my own left-overs, but probably the buildbot, Volker and Jeroen should do so as well...

(FWIW, I reported Sage still leaving a lot of temporary crap a couple of times on sage-devel.)

comment:38 Changed 9 years ago by vbraun

Oh boy, no tmpwatch %-)

Note: See TracTickets for help on using tickets.