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.

The fixes to gcc are in the latest snapshots of the 4.5 release, but given that is not due for several months, and the usual bugs in X.Y.0 releases of gcc, I'm not very confident that will build Sage reliably. I've not tried I must admit. I was a bit ****** off last week with all the hassles. I decided to take a break for a few days.

I intend contacting the author of the gcc patch, and asking him if there is any chance of him back porting it to gcc 4.4.2, where it should be a bit more reliable. I don't relish the thought of using a 4.5.0 snapshot, when 4.5 is not due out for months.

2) Next there was the issue that my update to sage-env

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

caused problems. This would have allowed a much cleaner method of adding the correct flags to compilers to generate 64-bit code on different platforms. It would also have allowed performance improvements if one set CFLAGS to optimise the compiler for their own platform, rather than let gcc develop binaries for more basic compilers. (I realise some parts of Sage do pick appropriate flags, but most do not, so there must be a performance impact).

It would appear that by setting CFLAGS to -g -Wall, this inadvertently removes the -fno-strict-aliasing option from the gcc options that Cython uses to compile the auto generated C files.

Given the vast majority of .spkg files in Sage could usefully use a common set of options, it seems a bit of a shame. I feel the real solution to this is to sort out Cython, so it either ignores the flags, or appends them to its own choice of flags. (There's no reason -g or -Wall should be unsafe, but clearly if they replace other flags, rather than get appended to, it will cause issues).

On a more positive note, Jaap Spies has taken an interest in porting Sage to Open Solaris. That will certainly help.

I've agreed to give a talk at the London Open Solaris User Group about Sage. This will probably be on the 19th May. Hopefully there will not be too many weeks like last week.


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