Differences between revisions 49 and 51 (spanning 2 versions)
Revision 49 as of 2009-12-24 12:02:06
Size: 6701
Editor: DavidKirkby
Comment:
Revision 51 as of 2009-12-24 13:15:10
Size: 5128
Editor: DavidKirkby
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This page, which is primarily maintained by David Kirkby, describes the current status of Sage on the various versions (Solaris 10 and Open Solaris) and on various hardware (SPARC and x86). This page, which is primarily maintained by David Kirkby, describes the current status of Sage on the various versions of Solaris and on various hardware (SPARC and x86).
Line 5: Line 5:
Sage will build on Sun's Solaris operating system - you can in fact try out Sage running on a Sun T5240 Coolthreads server, kindly donated by Sun Microsystems, at http://t2nb.math.washington.edu:8000/
Although it is Christmas Eve as I write this, I suspect a Solaris server running Sage will be available before the end of 2009 at http://t2nb.math.washington.edu:8000/ That's a Sun T5240 kindly donated by Sun. But it is not installed just yet, but will be in the next few days.
Line 10: Line 9:
Sage 4.3 or later should build and run properly on any SPARC hardware which runs Solaris 10. Sage has been built on several Solaris 10 SPARC systems, ranging from old machines to current models and from the first release of Solaris 10 (03/2005 edition) to the latest (05/2009 edition). So Sage should build on your Solaris 10 SPARC machine. Specific hardware/software combinations on which Sage has been built are That latest Sage release, 4.2.1, will build on Solaris as long as you do '''not''' have Sun Studio installed, though there are a couple of tricks you can use to get it to build if you do have Sun Studio installed.

Sage 4.3 or later, which will be released in January 2010, should build and run on any SPARC hardware which runs Solaris 10. Sage has been built on several Solaris 10 SPARC systems, ranging from old machines to current models and from the first release of Solaris 10 (03/2005 edition) to the latest (05/2009 edition). So Sage should build on your Solaris 10 SPARC machine. Specific hardware/software combinations on which Sage has been built are
Line 27: Line 28:
Sage will run in a zone, so if you want to make a public access server, with negligible security risks, then you can do so. There are a few problems with the build on Solaris 10, all of which we hope to resolve. Sage will run in a Solaris zone, so if you want to make a public access server, with negligible security risks, then you can do so.
Line 29: Line 30:
 * Only GCC >= 4.0.1 can be used. Sun Studio can not be used. Supporting Sun Studio is an aim, but it's unlikely to happen soon. There are too many pieces of code in Sage that assume GCC and use GCC compiler flags. There are a few problems with the build on Solaris 10, all of which we hope to resolve.

 * Only GCC >= 4.0.1 can be used to build Sage. Supporting Sun Studio is an aim, but it's unlikely to happen soon.
 * As stated above, if Sun Studio is installed, Sage 4.2.1 will not build. This is easy to fix - more details below.
Line 31: Line 35:
 * Sage has a large test suite, which is run regularly by Sage developers. Not all the tests pass on Solaris 10.  * Sage has a large test suite, which is run regularly by Sage developers. Not all the tests pass on Solaris 10. We are looking into reasons why this might be so.
Line 35: Line 39:
This has not been tested, but would have a high probability of working. It is likely to suffer the same issues as Sage does on SPARC hardware. This has not been tested, but would have a high probability of working. Let us know if you try it.
Line 38: Line 42:
This has not been tested and will almost certainly not work. We are afraid to say, nobody currently developing uses Open Solaris on SPARC hardware. Given the number of users of Open Solaris on SPARC hardware is so small, it is doubtful much effort will be put into a port. But if others wish to submit patches, they can do. This has not been tested and will almost certainly not work.

We are afraid to say nobody currently developing Sage uses Open Solaris on SPARC hardware. Given the number of users of Open Solaris on SPARC hardware is so small, it is doubtful much effort will be put into a port. But if others wish to submit patches, they can do.
Line 41: Line 47:
Line 44: Line 49:
== How to build Sage on Solaris 10 with SPARC hardware ==

As stated above, this should work, but the process is not as simple as one might like it to be.

=== Stage `1 - make sure you have a suitable gcc, if not build one or download one ===

Sage has been built with gcc 4.4.1 and 4.4.2, but should work with any gcc >= 4.0.1 that

Solaris 10 only ships with an old version of gcc (3.4.3), which is not built with Fortran support. Sage needs a newer version of gcc than that, and it '''must''' be configured to support Fortran. (I believe the binary from Sunfreeware does not support Fortran). If you do not have gcc >= 4.0.1 with Fortran support, you will need to:

 * Download and install GMP from http://gmplib.org/ as this is a perquisite for building gcc.
 * Download and install MPFR from http://www.mpfr.org/ as this is a perquisite for building gcc.
 * Download and install gcc from http://gcc.gnu.org/

Older releases of Solaris 10 ship with a pretty broken gcc in /usr/sfw/bin. You might need to apply patch 123647 on old releases. Exactly how old, and what version of the patch is not know, but anything released in mid-2008 should be fine.

It is highly recommended that you configure gcc to use both the Sun linker and Sun assembler. A configuration which is known to work is:

drkirkby@kestrel:~$ gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: ../gcc-4.4.2/configure --prefix=/opt/kirkby/gcc-4.4.2/ --with-gmp=/usr/local/ --with-mpfr=/usr/local --with-build-time-tools=/usr/ccs/bin --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.2 (GCC)
Line 46: Line 75:
=== Stage 2 Set up a build environment. ===
Line 47: Line 77:
== Sage on Sun's SPARC hardware ==

=== 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).

 * Older versions of Sage have been built on a Sun Blade 2000 and a Sun Blade 2500.

=== SPARC 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/spkg/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. This assumes the version of Sage is 4.1.1.rc0. However, use the LATEST version, not 4.1.1.rc0.

 * Ensure you have a recent gcc. 4.2.4 is definately new enough. Some older versions may not be. The gcc included in Solaris /usr/sfw/bin/gcc is often not built to support Fortran (check with 'gcc -v') In this case, you will need to either build a later gcc from source code, or get a version with support for Fortran from Blastwave or SunFreeware.
 * 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.
 * Unpack download the file http://sage.math.washington.edu/home/kirkby/Solaris-fixes/ecl-9.4.1.p0/ecl-9.4.1.p0.spkg to the directory sage-4.1.1.rc0/spkg/standard (update the version of course).
 * Touch the file ''sage-4.1.1.rc0/spkg/installed/maxima-5.16.3.p2''
 * Type make, and expect to wait some hours!
 * Eventually Sage will fail with a message indicating problems in the file sage-4.1.1.rc0/local/include/pari/paripriv.h. Edit that file manually, and comment out lines 258, 259 and 428.
 * Type ''make'' again, and Sage should build.

== Sage on Solaris using Intel or AMD x86/x64 CPUs ==

Sage has been built on Solaris x86 / OpenSolaris. Someone else will have to report successful builds and any notes that will help people.

An issue with MPIR not detecting the correct linker has been seen on one computer running the November 2008 edition of OpenSolaris, yet others running the same version have not had this problem.
Set up your
An issue with MPIR not detecting the correct linker has been seen on one computer running the November 2008 edition of Open Solaris, yet others running the same version have not had this problem.

Running Sage on Sun's Solaris operating system.

This page, which is primarily maintained by David Kirkby, describes the current status of Sage on the various versions of Solaris and on various hardware (SPARC and x86).

Although it is Christmas Eve as I write this, I suspect a Solaris server running Sage will be available before the end of 2009 at http://t2nb.math.washington.edu:8000/ That's a Sun T5240 kindly donated by Sun. But it is not installed just yet, but will be in the next few days.

Solaris 10 on SPARC hardware.

That latest Sage release, 4.2.1, will build on Solaris as long as you do not have Sun Studio installed, though there are a couple of tricks you can use to get it to build if you do have Sun Studio installed.

Sage 4.3 or later, which will be released in January 2010, should build and run on any SPARC hardware which runs Solaris 10. Sage has been built on several Solaris 10 SPARC systems, ranging from old machines to current models and from the first release of Solaris 10 (03/2005 edition) to the latest (05/2009 edition). So Sage should build on your Solaris 10 SPARC machine. Specific hardware/software combinations on which Sage has been built are

  • Sun T5240 CoolThreads server with:

    • 2 x 1167 MHz T2+ Coolthreads processors
    • 16 cores
    • 128 threads
    • 32 GB RAM
    • Solaris 10 update 6 (05/2009 edition).
  • A Sun Blade 2000 workstation with:
    • 2 x 1200 MHz UltraSPARC III+ processors.
    • 8 GB RAM
    • Solaris 10 update 7 (05/2009 release) which at the time of writing (December 2009) is the latest release of Solaris 10.
  • Sun Netra T1 server with:
    • 1 x 500 MHz UltraSPARC-IIe processor
    • 1536 MB RAM
    • Solaris 10 03/2005 (the very first Solaris 10 release).

Sage will run in a Solaris zone, so if you want to make a public access server, with negligible security risks, then you can do so.

There are a few problems with the build on Solaris 10, all of which we hope to resolve.

  • Only GCC >= 4.0.1 can be used to build Sage. Supporting Sun Studio is an aim, but it's unlikely to happen soon.

  • As stated above, if Sun Studio is installed, Sage 4.2.1 will not build. This is easy to fix - more details below.
  • Sage currently only builds in 32-bit mode on Solaris 10.
  • Sage has a large test suite, which is run regularly by Sage developers. Not all the tests pass on Solaris 10. We are looking into reasons why this might be so.

Solaris 10 on x86 hardware.

This has not been tested, but would have a high probability of working. Let us know if you try it.

Open Solaris (also known as Solaris 11) on SPARC hardware

This has not been tested and will almost certainly not work.

We are afraid to say nobody currently developing Sage uses Open Solaris on SPARC hardware. Given the number of users of Open Solaris on SPARC hardware is so small, it is doubtful much effort will be put into a port. But if others wish to submit patches, they can do.

Open Solaris (also known as Solaris 11) on x86 hardware

Unfortunately, as of December 2009, the latest release of Sage will not build on Open Solaris. We are actively working on resolving this.

How to build Sage on Solaris 10 with SPARC hardware

As stated above, this should work, but the process is not as simple as one might like it to be.

Stage `1 - make sure you have a suitable gcc, if not build one or download one

Sage has been built with gcc 4.4.1 and 4.4.2, but should work with any gcc >= 4.0.1 that

Solaris 10 only ships with an old version of gcc (3.4.3), which is not built with Fortran support. Sage needs a newer version of gcc than that, and it must be configured to support Fortran. (I believe the binary from Sunfreeware does not support Fortran). If you do not have gcc >= 4.0.1 with Fortran support, you will need to:

Older releases of Solaris 10 ship with a pretty broken gcc in /usr/sfw/bin. You might need to apply patch 123647 on old releases. Exactly how old, and what version of the patch is not know, but anything released in mid-2008 should be fine.

It is highly recommended that you configure gcc to use both the Sun linker and Sun assembler. A configuration which is known to work is:

drkirkby@kestrel:~$ gcc -v Using built-in specs. Target: sparc-sun-solaris2.10 Configured with: ../gcc-4.4.2/configure --prefix=/opt/kirkby/gcc-4.4.2/ --with-gmp=/usr/local/ --with-mpfr=/usr/local --with-build-time-tools=/usr/ccs/bin --enable-languages=c,c++,fortran Thread model: posix gcc version 4.4.2 (GCC)

Stage 2 Set up a build environment.

Set up your An issue with MPIR not detecting the correct linker has been seen on one computer running the November 2008 edition of Open Solaris, yet others running the same version have not had this problem.