Differences between revisions 40 and 44 (spanning 4 versions)
Revision 40 as of 2009-08-04 13:17:12
Size: 1058
Editor: DavidKirkby
Comment:
Revision 44 as of 2009-08-04 18:53:07
Size: 2688
Editor: DavidKirkby
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
As of the 4th August 2009, where the latest developer release of Sage is 4.1.1.rc0, Sage will build on SPARC. It has been successfully built on: As of the 4th August 2009, several older copies of Sage have been built. The most recent is:
Line 12: Line 12:
* A Sun Blade 2000 running Solaris 10 update 7 using gcc 4.4.0.  * Sage 4.1.1.rc0 (a developer release) was built on a Sun Ultra 80 running Solaris 10 update 7. For this, gcc/g++/gfortran versions were 4.4.0. The GNU compilers were built to use the Sun linker (/usr/ccs/bin/ld) and the Sun assembler (/usr/ccs/bin/as).
Line 14: Line 14:
However, there are a few issues, which make the build not as simple as typing 'make' and coming back to find Sage running. === Issues ===
Line 16: Line 16:
* The lisp interpreter 'ecl' used in Sage
Currently, attempts are only being made to build Sage in 32-bit with gcc, although full support is the Sun Studio Compiler Suite is planned.
 * ECL which is an implementation of the Common Lisp language is used inside Sage for Maxima. The version of ECL in Sage will not build on Solaris SPARC. Neither will version 9.4.1 of ECL, which is the latest as I write. However, the ECL developers have fixed the issue in the latest CVS. A new release of ECL is expected before the 9th August. This will then be integrated into Sage. Before this, an experimental package of ecl is available, which solves this issue. http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.4.1.p0/ecl-9.4.1.p0.spkg
Line 19: Line 18:
== Status ==  * Maxima will not build. This is because of a bug in Maxima, which has been noticed for the first time in 35 years. It was only noticed when the newest ECL detected the error. A new release of Maxima will soon fix this, but for now, I bypassed the problem by touching the file sage-4.1.1.rc0/installed/maxima-5.16.3.p2 This of course means Maxima will not function.
Line 21: Line 20:
Various versions of Sage have been built on both OpenSolaris (x86) and on Solaris 10 on SPARC. However, the build process will require some manual intervention.  * The notebook() did not allow a web browser to connect at http://localhost:8000
Line 23: Line 22:
== Issues == === Building Sage on Solaris SPARC ==

Solaris SPARC support is almost there, and things will change quickly. So ask on the sage-devel list for the most up to date information. If you want to try to build Sage on Solaris, the following is suggested

 * Ensure you have a recent gcc. 4.2.4 is definately new enough. Some older versions may not be.
 * If gcc is configured to use the Sun linker and assembler (/usr/ccs/bin/ld & /usr/ccs/bin/as), ensure that /usr/ccs/bin is in your path before any directory containing a copy of the GNU assembler or linker. i.e. ensure that 'which ld' returns /usr/ccs/bin/ld and not something like /usr/local/bin/ld.
 * Conversely, if your gcc was configured to use the GNU linker and assembler, ensure that the GNU tools are in the path before /usr/ccs/bin/. The reason for this is that the Sage source files check the linker and assembler versions, and expect these to be the same as what is used by gcc when compiling.

The Solaris Port of Sage

This page tracks the Solaris port of Sage. This page is primarily maintained by David Kirkby.

Goal

The goals of this port are to get Sage compiling and passing all doctests on OpenSolaris (x86/x86-64) as well as 32 and 64 bit SPARC on Solaris 10 and higher.

SPARC status

As of the 4th August 2009, several older copies of Sage have been built. The most recent is:

  • Sage 4.1.1.rc0 (a developer release) was built on a Sun Ultra 80 running Solaris 10 update 7. For this, gcc/g++/gfortran versions were 4.4.0. The GNU compilers were built to use the Sun linker (/usr/ccs/bin/ld) and the Sun assembler (/usr/ccs/bin/as).

Issues

  • ECL which is an implementation of the Common Lisp language is used inside Sage for Maxima. The version of ECL in Sage will not build on Solaris SPARC. Neither will version 9.4.1 of ECL, which is the latest as I write. However, the ECL developers have fixed the issue in the latest CVS. A new release of ECL is expected before the 9th August. This will then be integrated into Sage. Before this, an experimental package of ecl is available, which solves this issue. http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.4.1.p0/ecl-9.4.1.p0.spkg

  • Maxima will not build. This is because of a bug in Maxima, which has been noticed for the first time in 35 years. It was only noticed when the newest ECL detected the error. A new release of Maxima will soon fix this, but for now, I bypassed the problem by touching the file sage-4.1.1.rc0/installed/maxima-5.16.3.p2 This of course means Maxima will not function.
  • The notebook() did not allow a web browser to connect at http://localhost:8000

=== Building Sage on Solaris SPARC ==

Solaris SPARC support is almost there, and things will change quickly. So ask on the sage-devel list for the most up to date information. If you want to try to build Sage on Solaris, the following is suggested

  • Ensure you have a recent gcc. 4.2.4 is definately new enough. Some older versions may not be.
  • If gcc is configured to use the Sun linker and assembler (/usr/ccs/bin/ld & /usr/ccs/bin/as), ensure that /usr/ccs/bin is in your path before any directory containing a copy of the GNU assembler or linker. i.e. ensure that 'which ld' returns /usr/ccs/bin/ld and not something like /usr/local/bin/ld.

  • Conversely, if your gcc was configured to use the GNU linker and assembler, ensure that the GNU tools are in the path before /usr/ccs/bin/. The reason for this is that the Sage source files check the linker and assembler versions, and expect these to be the same as what is used by gcc when compiling.