-
-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a gcc package #12369
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:7
But that is all Macs. This seems overkill to me; why not only do this on Lion? Or would this eliminate having Xcode as a prerequisite to building Sage on OS X in general (even for those for which XCode is free, though sometimes annoying to get)? That might be a nice move. I assume this is a prebuilt gcc like our current Fortran package? Could the message "installing GCC because..." occur several times here? |
comment:8
Updated spkg at http://www.stp.dias.ie/~vbraun/Sage/spkg/gcc-4.6.2.spkg It turns out to be tricky to convince gcc to use |
comment:9
First of all: this spkg is all pretty-much proof-of-concept. I haven't even managed to install Sage from source with this spkg. Replying to @kcrisman:
Maybe you are right, but my idea was to install this gcc spkg if the gcc we ship is more recent than the one the user has. I think many people would benefit from using a more recent compiler.
No, this is a gcc from source. I certainly don't want to include gcc binaries for every platform, that would increase the size way too much.
Sure. |
comment:10
Of course; I'm just asking early questions.
Possibly. I guess what I'm wondering is how one would build this gcc if one didn't have gcc... but this may betray my ignorance. Anyway, the vast majority of Mac users will not have a way to build this gcc if they need gcc until they download/install (from a disk which they've probably thrown out, as William pointed out on sage-devel) XCode anyway, in which case we might as well only worry about Lion anyway.
That's what I figured, but just wanted to clarify.
Ok. I suppose it doesn't really matter, but could be confusing/alarming. |
comment:11
Replying to @kcrisman:
My hope is that the non-gcc C compiler shipped with XCode 4 might be able to build GCC.
That "vast majority" of users will be happy with a binary distribution of Sage (which could actually contain GCC if I manage to make this spkg work). |
comment:12
Replying to @jdemeyer:
Interesting! Now I see the point of all this.
Good point - until they need to change any code. But this
Interesting, as I said. I wonder if this would work:
|
comment:17
I haven't looked at the spkg yet (which is probably old anyway), but looking at the root patch that you wrote, I have a few of requests:
And a couple comments:
In response to Karl about a replacement for Xcode (or tools on any platform). This does not provide one, even in binary distributions of sage since we need binutils and make, neither of which this would provide (and neither of which are on OSX without Xcode). |
comment:18
Right, that makes sense. I didn't know exactly what comes from Xcode and what is just pre-included. |
comment:19
I've been wondering for a while if we should change Sage to use autoconf. (When I say "we", I don't actually mean me, since I don't know anything about writing |
comment:20
Replying to @jhpalmieri:
I don't know how much additional functionality it would add, but I would argue for it since it is more unix user friendly than our current custom setup (SAGE_ATLAS_LIB is not as user friendly as a fairly standard --with-system-atlas argument for configure). My guess is that it would be a fairly large endeavour to implement a first version of such a change (I don't know autoconf, so I'm just guessing here), although it would hopefully be easier to maintain than spkg-install.
I don't think it could hurt. Also, that would be a better place to discuss it than on this ticket. |
comment:21
Replying to @ohanar:
Actually, thinking a bit more about it, I think it would be better if we required SAGE_PORT to be set if CC and/or CXX is set. |
comment:22
Replying to @ohanar:
Well, we do need to build Fortran on a Mac (I'm assuming that the fortran spkg will go away). And Sage seems to require that the gcc and gfortran versions are the same. It is true that the build time of gcc is significant:
(on bsd.math, single-threaded), but it's not that bad. I think the "plus" of having a working Sage compiled with optimizations (as opposed to using XCode 4 with many packages compiled with -O0) outweighs the "minus" of 25 minutes longer build time.
Well, I was thinking anyway of adding an environment variable (or future
I thought gcc and gfortran needed to be the same versions?
Agreed.
Agreed (modulo the fact that you mean
True... |
comment:23
Replying to @jdemeyer:
Agreed, which is why I would like only fortran to be built if it is the only language needed.
I think this is something that should be brought to the listserv. Once I get a clang port up and running (which shouldn't be too bad on osx, since atlas looks like it will be the only package that is going to be hell to port), this can be resolved by changing the default compiler on osx to clang.
I'm not sure about this, I'm using a mixture of clang (which dumps its version as 4.2.1) and gfortran-4.5.3, and occasionally gcc-4.2.4 and g++-4.2.4 to build sage, and currently the entire test suite is passing. |
comment:24
Replying to @ohanar:
Is build time your only concern here? Because if you need to build Fortran, you most likely need to build a stage 1 C compiler anyway. |
comment:25
I would like to add that my goal is beyond OS X 10.7 but more generally all systems with bad compilers. That's also why I went for the more stable gcc-4.4.6 as opposed to the more recent (and therefore buggy) gcc-4.6.2. |
Merged: sage-5.0.beta13 |
comment:239
Replying to @jdemeyer:
That's a noop. Mercurial notices that your current Sage library is based on the one you're trying to reinstall, so won't destroy your patched one. ("Reinstallation" of the Sage library [spkg] almost always happens if you use |
comment:240
Replying to @jdemeyer:
I'd just |
comment:241
The new code is
|
This comment has been minimized.
This comment has been minimized.
comment:243
I get GCC build errors on Ubuntu 12.04 (still beta). Apart from that Ubuntu's [broken] GCC 4.6.3 is unable to build MPFR with More to come, either here or on sage-release. |
The aim is to add a GCC package (GNU compiler collection) to Sage with compilers for C, C++ and Fortran. We don't always build it, we would install it by default only on systems where this is needed. This would replace the fortran package.
spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/gcc-4.6.3.spkg
Apply:
SAGE_ROOT
repository.SCRIPTS
repository.See also:
Depends on #12479
Depends on #12602
Depends on #12608
Depends on #12609
Depends on #12647
Depends on #10492
Depends on #12367
Depends on #12368
Depends on #12405
Depends on #12570
Depends on #12574
Depends on #12423
Depends on #12425
Depends on #12456
Depends on #12363
Depends on #12223
Depends on #12515
Depends on #12519
Depends on #12548
Depends on #12562
Depends on #12629
Depends on #12638
Depends on #12714
Depends on #12647
Depends on #12739
Depends on #12112
Depends on #12631
CC: @vbraun
Component: packages: standard
Author: Jeroen Demeyer
Reviewer: Simon King
Merged: sage-5.0.beta13
Issue created by migration from https://trac.sagemath.org/ticket/12369
The text was updated successfully, but these errors were encountered: