Differences between revisions 46 and 86 (spanning 40 versions)
Revision 46 as of 2009-12-24 10:51:58
Size: 5157
Editor: DavidKirkby
Comment:
Revision 86 as of 2022-04-05 02:15:00
Size: 0
Editor: mkoeppe
Comment: outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Running Sage on Sun's Solaris operating system. ==

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/ You can create your self an account and use the server without even installing Sage on your machine. But for reasons of security and resource limitations, certain restrictions are imposed on the server at http://t2nb.math.washington.edu:8000/ which will not be the case if you run Sage on your own Solaris server.

This page is primarily maintained by David Kirkby.

=== What does work now. ===

Sage 4.3 or later should run on Solaris 10 on SPARC hardware. 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) to the latest (release (05/2009 edition).

 * Sun T5240 CoolThreads server. This has two processors, 16 cores and 128 threads. It runs Solaris 10 update 6 http://t2nb.math.washington.edu:8000/
 * Sun Netra T1 running the first release of Solaris 10 (the 03/2005 edition) to the latest




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.


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