Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#13913 closed enhancement (fixed)

Provide a "stripped" gcc 4.7.2 spkg

Reported by: jpflori Owned by: tbd
Priority: major Milestone: sage-5.6
Component: packages: optional Keywords: spkg gcc
Cc: jdemeyer Merged in:
Authors: Jeroen Demeyer Reviewers: Jean-Pierre Flori
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

GCC does not provide separates tarball for each languages for the 4.7.x releases, so we have to cook our own if we do not want to include ADA, GO, JAVA, OBJC...

Try the spkg at http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.2.p0.spkg

The stripped src dir can be produced using the spkg-src provided in the spkg.

Attachments (1)

gcc-4.7.2.p0.diff (2.5 KB) - added by jdemeyer 7 years ago.
Spkg diff, for review only.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 7 years ago by jpflori

  • Authors set to Jean-Pierre Flori
  • Cc jdemeyer added
  • Description modified (diff)
  • Status changed from new to needs_review

Not sure we should really get rid of the testsuites dir, but gcc, g++ and gfortran (seem to) build without it.

comment:2 Changed 7 years ago by jdemeyer

Wow, we both had almost exactly the same idea.

comment:3 Changed 7 years ago by jdemeyer

My spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.7.2.p0.spkg (also removed Link Time Optimization and Native Language Support).

My spkg-src script (don't call it spkg-dist as that is really meant for scripts which create a spkg):

#!/bin/sh
# Remove some unneeded pieces from GCC, after downloading and
# extracting the sources and renaming the directory to src/.

cd src || exit $?

rm MD5SUMS
rm -r maintainer-scripts

# Remove zlib, since Sage already ships with zlib
# and we build GCC with --with-system-zlib.
rm -r zlib

# Remove Native Language Support
rm -r gcc/po libcpp/po

# Remove support for Link Time Optimization
rm -r lto-plugin

# Remove all files for languages other than C, C++, Fortran.
rm -r libada gnattools libgo libffi libjava boehm-gc libobjc
cd gcc
rm -r ada go java objc objcp testsuite

comment:4 Changed 7 years ago by jdemeyer

Not sure whether we should remove libitm (although currently nothing in Sage uses this feature).

comment:5 follow-up: Changed 7 years ago by jdemeyer

Let's be conservative and keep LTO and ITM. I really see no need for Native Language Support, so I'd remove that.

comment:6 Changed 7 years ago by jdemeyer

  • Description modified (diff)

Changed 7 years ago by jdemeyer

Spkg diff, for review only.

comment:7 Changed 7 years ago by jdemeyer

Jean-Pierre, could you review my package please?

comment:8 in reply to: ↑ 5 ; follow-up: Changed 7 years ago by jpflori

Replying to jdemeyer:

Let's be conservative and keep LTO and ITM. I really see no need for Native Language Support, so I'd remove that.

Just a random thought about NLS, shouldn't we try to remove it from as many spkg as possible? Or is it actually used or necessary somewhere?

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

Replying to jpflori:

Just a random thought about NLS, shouldn't we try to remove it from as many spkg as possible?

It could be done I guess. Except of course for user-facing packages, i.e. packages where the user is likely to see the output of. I know there are some efforts to internationalize the Sage Notebook for example.

comment:10 follow-up: Changed 7 years ago by jpflori

Little remark: do we need the intl directory? I guess this is NLS related and in the end is not used because of the --disable-nls flag. I've just built without it and everything seems fine. (Without it the --disable-nls flag should not be that useful but let's keep it in anyway.)

comment:11 in reply to: ↑ 10 ; follow-up: Changed 7 years ago by jdemeyer

Replying to jpflori:

Little remark: do we need the intl directory?

I'm not entirely sure that it's not needed. It contains gettext library, needed for internationalization. I don't know whether --disable-nls truly disables the use of gettext. The fact that it works on your system might be because your system already has gettext. To be on the safe side, I would keep intl, it's only 100K compressed anyway.

comment:12 in reply to: ↑ 11 Changed 7 years ago by jpflori

  • Authors changed from Jean-Pierre Flori to Jeroen Demeyer
  • Reviewers set to Jean-Pierre Flori
  • Status changed from needs_review to positive_review

Replying to jdemeyer:

Replying to jpflori:

Little remark: do we need the intl directory?

I'm not entirely sure that it's not needed. It contains gettext library, needed for internationalization. I don't know whether --disable-nls truly disables the use of gettext. The fact that it works on your system might be because your system already has gettext. To be on the safe side, I would keep intl, it's only 100K compressed anyway.

Agreed.

comment:13 Changed 7 years ago by jpflori

(But if you wanna test it, I feel it should work without intl as well, not even using system stuff if you don't push configure to do it from what I quickly saw in configure's, makefiles and m4 macros.)

comment:14 Changed 7 years ago by jdemeyer

  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:15 Changed 7 years ago by schilly

optional spkg is updated!

comment:16 Changed 7 years ago by jpflori

Cannot locate the spkg on sage website or on mirrors.

Note: See TracTickets for help on using tickets.