Opened 8 years ago

Closed 8 years ago

#12760 closed defect (fixed)

gfan 0.4plus [p1] fails to build with GCC 4.7.0

Reported by: leif Owned by: leif
Priority: major Milestone: sage-5.0.1
Component: packages: standard Keywords: spkg C++11 sd40.5
Cc: mhampton, was, mariah Merged in: sage-5.0.1.rc1
Authors: Leif Leonhardy Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by leif)

This is due to a trivial programming error. I already have an spkg fixing this, along with a moderate clean-up of the spkg.

See #12751 for the GCC-4.7.0 metaticket.


New spkg: http://boxen.math.washington.edu/home/leif/Sage/spkgs/gfan-0.4plus.p3.spkg

md5sum: 2bb0b5f4cd0081c1af939294ba2e1859 gfan-0.4plus.p3.spkg

gfan-0.4plus.p3 (Leif Leonhardy, April 5th 2012)

  • #12760: Fix erroneous unconditional export of CXXFLAG64, which is now in the first place always set, and used in the patched Makefile. (Also do not export CFLAG64, which is only used within spkg-install.)
  • Add further TODOs... ;-)

gfan-0.4plus.p2 (Leif Leonhardy, March 25th 2012)

  • #12760: Correct trivial C++ programming error to make gfan build with GCC 4.7.0.
  • Clean up and beautify spkg-install.

Attachments (3)

gfan-0.4plus.p1-p2.diff (11.7 KB) - added by leif 8 years ago.
Diff between the previous spkg in Sage and my new p2 spkg. For reference / review only.
gfan-0.4plus.p1-p3.diff (13.1 KB) - added by leif 8 years ago.
Diff between the previous spkg in Sage and my new p3 spkg. For reference / review only.
gfan-0.4plus.p2-p3.diff (2.6 KB) - added by leif 8 years ago.
Diff between my p2 and my p3 spkg. For reference / review only.

Download all attachments as: .zip

Change History (19)

Changed 8 years ago by leif

Diff between the previous spkg in Sage and my new p2 spkg. For reference / review only.

comment:1 Changed 8 years ago by leif

  • Authors set to Leif Leonhardy
  • Cc mhampton was mariah added
  • Description modified (diff)
  • Status changed from new to needs_review

comment:2 Changed 8 years ago by jdemeyer

  • Description modified (diff)

comment:3 follow-up: Changed 8 years ago by jdemeyer

This should be reported upstream.

comment:4 in reply to: ↑ 3 Changed 8 years ago by leif

Replying to jdemeyer:

This should be reported upstream.

That's one reason why I cc'ed the spkg maintainers... ;-)

Note that Gfan 0.4plus is of late 2009; Gfan 0.5 was released more than a year ago. Haven't checked whether the latter fixes the C++11 issues, but since it introduces new functionality (and probably also new bugs), I haven't tried using that.

comment:5 Changed 8 years ago by mhampton

Putting in Gfan 0.5 has been on my todo list for a long time but I haven't had a chance to concentrate on it. The whole interface could use a good overhaul. If no one else beats me to it I hope to tackle that this summer. The ticket for that is:

http://trac.sagemath.org/sage_trac/ticket/11395

comment:6 follow-up: Changed 8 years ago by leif

Wuuuuu... Cleaned up a bit too much.

Needs correction w.r.t. exporting CFLAG64 and especially CXXFLAG64 (which is used in the patched Makefile), otherwise build fails on ia64 and most probably also 32-bit systems.

comment:7 Changed 8 years ago by leif

  • Description modified (diff)

comment:8 in reply to: ↑ 6 Changed 8 years ago by leif

Replying to leif:

Needs correction w.r.t. exporting CFLAG64 and especially CXXFLAG64 (which is used in the patched Makefile), otherwise build fails on ia64 and most probably also 32-bit systems.

Now fixed in a new p3.

Changed 8 years ago by leif

Diff between the previous spkg in Sage and my new p3 spkg. For reference / review only.

Changed 8 years ago by leif

Diff between my p2 and my p3 spkg. For reference / review only.

comment:9 Changed 8 years ago by leif

From my updated SPKG.txt:

TODO:
 * Use `patch` to apply patches (then also add GNU patch to the dependencies).
 * Clean up `spkg-install` further w.r.t. installation etc.
 * Probably remove `CXXFLAG64` from the (patched) Makefile; instead put it
   into `LDFLAGS` and use these in the Makefile.
 * The Makefile is still suboptimal; e.g. Sage-specific values shouldn't be
   hardcoded into it.  That way we could provide a clean patch for upstream,
   and would later only have to change/set `make` variables in `spkg-install`,
   without the need to patch the Makefile at all for Sage.
   Also `CXXFLAGS` aren't used in, i.e. ignored by the current Makefile.

I'll probably fix some of these here laterTM as well, especially item 1, and perhaps also items 3 and 2, but because of #11395, I won't do much more at the moment.

comment:10 follow-up: Changed 8 years ago by jdemeyer

You should make all files in src world-readable:

chmod -R ugo+r src

comment:11 in reply to: ↑ 10 Changed 8 years ago by leif

  • Description modified (diff)

Replying to jdemeyer:

You should make all files in src world-readable:

chmod -R ugo+r src

Well, these have been in before (and the respective files were of course user-readable, and they don't get installed anyway).

Anyway, fixed; new spkg, same place.

comment:12 Changed 8 years ago by Snark

I managed to install : 2bb0b5f4cd0081c1af939294ba2e1859 gfan-0.4plus.p3.spkg on my debian x86_64 box, using gcc 4.7.0.

comment:13 Changed 8 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

Looks good to me.

comment:14 Changed 8 years ago by jdemeyer

  • Keywords sd40.5 added

comment:15 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.1 to sage-5.0.1

comment:16 Changed 8 years ago by jdemeyer

  • Merged in set to sage-5.0.1.rc1
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.