Differences between revisions 33 and 86 (spanning 53 versions)
Revision 33 as of 2009-01-10 08:09:21
Size: 3882
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:
== The Solaris Port of Sage ==

This page tracks the Solaris port of Sage currently being done by Michael Abshoff.

== Goal ==

The goal of this port is to get Sage compiling and passing all doctests on x86/x86-64 as well as 32 and 64 bit Sparc on Solaris 10 and higher.

== Status ==
 
 * As of Sage 3.2.3 it compiles with small modifications in 32 bit mode on the SkyNet Solaris 10/x86-64 machine.
 * The same release does not build on Solaris 10/Sparc due to segfaults when building clisp. This will be remedied by switching to ecl in Sage 3.3
 * 64 bit support for Solaris 10 on x86-64 as well as Sparc is planned for Sage 3.4.

Please see also the open issues section at the bottom of the page for known problems.

== Build Fixes to Integrate ==

 * [[solaris/sage-3.2.3|Sage 3.2.3 build issues and doctest failures]]
 * [[solaris/sage-3.1.3|Sage 3.1.3 build issues and doctest failures]]
 * [[solaris/sage-3.0.5|Sage 3.0.5 build issues and doctest failures]]
 * 3.0.1-3.0.4: misc fixes
 * 3.0:
   * fix lcalc build on Solaris
 * 2.11:
  * add Solaris 9 specific stdint.h workaround since Solaris 9 only supports a draft standard of C99. Solaris 10 has no such problem [[#2660|- 32 bits only so far]]
 * 2.10.4:
  * no significant changes
 * 2.10.3
  * start of integrating 64 bit build support - this will take a while to get in
 * 2.10.2:
  * same as 2.10.1 since the emphasis wasn't on this port this release.
 * 2.10.1:
  * drop in of stdint.h in $SAGE_LOCAL/include makes everything compile up to libfplll
  * fix libfplll build issue [spkg at 1957, merged in 2.10.1.rc2]
  * known issue: ATLAS screws up the combined Lapack+ATLAS dynamic library build. Maybe this is ld related?
  * because of the above issue numpy cannot be imported properly. Creating an {{{liblapack.so}}} manually from {{{liblapack.a}}} and rebuilding numpy makes numpy work
  * rpy doesn't build: {{{error: conflicting types for 'uintptr_t'}}} - probable cause is 32 bit vs 64 bit issues
  * fix rubiks build issue [spkg at 1959, merged in 2.10.1.rc2]
  * apply sage-lib build fixes from #1328 and #1329. Make sure to copy solaris_fix.h also into sage/rings [merged in 2.10.1.rc3]
 * 2.8.15:
  * The release has many Solaris specific fixes, but we need to fix #1325 before we will have something that can be used as a beta build.
 * 2.8.14:
  * new bug in matrix code that provides a special class for multivariate polynomials as entries causes segfaults all over the map.
  * int_fast64_t needs to be 4 bytes large, otherwise Sage throws an exception at startup. This needs fixing and actually causes doctest failures with the modp code
  * libfplll miscompiles, fix clear, but needs to be merged upstream
  * FLINT miscompiles, fixed upstream
  * lcalc miscompiles, fixes need to be integrated
  * clisp compiles, but segfaults. Solution: use 2.39 binary until issue is solved
  * cvxopt doesn't work (complex.h missing)
  * 2-3 patches are needed to sage.spkg - easy fixes, need to be merged upstream
  * failed doctest: number of partitions broken - maybe fpu precision issues
  * failed doctest: Schubert polynomial triggers error in symmetrica
 * 2.8.3:
  * worked reasonably well after workarounds, about 10-12 doctest failures
  * work arounds needed: clisp, lcalc
  * missing/failed spkgs: cvxopt
 * pre 2.8:
  * various people (David Kirkby) worked on this, but I am not sure if Sage ever passed 100% of doctests

== Open Issues ==
 * clisp fails to compile on Sparc/Solaris up to clisp 2.47 with gcc 3.3.6 to 4.3.2. The switch to ecl will fix this
 * Symmetrica detects internal inconsistency issues on Solatis
 * Singular has trouble reading input from files
 * sympow seems to be broken on Solaris/x86 - no setting FPU mode correctly

== ToDo ==

 * make doctests pass 100% :)
 * make building toolchain automatic