William Stein wrote:
On Sun, Jan 17, 2010 at 11:20 PM, Dr. David Kirkby
<david.kir...@onetel.net> wrote:
Last week was a pretty annoying week for Solaris support. Two quite major
obstacles came up.

1) #7932: _Complex_I undeclared - a new bug totally stops a Solaris 10
build.

has introduced code which exploits a bug in gcc, which stops Sage building
on Solaris. This was particularly annoying, as 4.3.1 was expected to be the
first version to build easily on Solaris. But that rather put a stop to
that.


I notice Robert has included what he concedes is a 'hack' to disable the
code. I  I've not bothered reviewing that yet, as there may be other ways
around this issue.

Robert explained this fix to us yesterday at Sage Days and it sounded
pretty reasonable to me.

William


I'm just trying that now. The URL Robert gave on the ticket

http://sage/home/robertwb/cython/cython-0.12.p1

is invalid, though I think I'm managed to work out what he means. I've managed to find something called cython-0.12.p1.spkg

In my experience setting CFLAGS when they don't need to be set will
cause major problems with anything that uses distutils (e.g., in the
context of Cython above).  In fact, numpy didn't get into Sage for a
*long* time initially because your sage-env script by default set
CFLAGS (to be empty, actually).  This prevented numpy from building in
the context of Sage.  I only finally figured this out with help from
some core numpy folks at a scipy conference....  (and you should have
heard me swear at distutils!)


How does this sound then.

Set SAGE_COMMON_FLAGS

to be a reasonable set of CFLAGS for most packages, so most .spkg's can simply 
use

CFLAGS=$SAGE_COMMON_FLAGS

which will have -g, -Wall, and if necessary -m64, when using gcc. For other compilers, the options will be different, but always a reasonable set for a compiler.

Then the environment variable CFLAGS is unmodified in any way, unless a package choses to use them.

It's not quite as nice, in that most .spkg's include

CFLAGS=$SAGE_COMMON_FLAGS
(likewise for C++ and Fortran).

but at least it will get rid of all this SAGE64 stuff, and also work for any compiler, which the current setup will not, as compiler flags are hard-coded.


Dave
-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to