Differences between revisions 34 and 35
Revision 34 as of 2009-02-03 05:03:27
Size: 3952
Comment: add link to Sage 3.3 issue page with Solaris
Revision 35 as of 2009-02-04 22:12:24
Size: 1915
Comment: Update status, open issues, move 3.0.4 and earlier issues to its own page
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
 * 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.
 * As of Sage 3.3.alpha4 the compile works on Solaris x86 with the custom toolchain. When using a binary clisp-2.47.spkg on Solaris/Sparc and the custom toolchain the compile also finishes. Note that several patches have to be applied for most of the doctests to pass. See the latest status page for more info below.
 * 64 bit support for Solaris 10 on x86-64 as well as Sparc is planned for Sage 3.4, but will take a couple releases to be fully merged.
Line 16: Line 15:

== Build Fixes to Integrate ==
Line 24: Line 20:
 * 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
 * [[solaris/sage-3.0.4-and-earlier|Sage 3.0.4 and earlier build issues and doctest failures]]
Line 65: Line 24:
 * 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
 * Symmetrica detects internal inconsistency issues on Solaris. This is likely a bug in the interface code that just happens to cause trouble on Solaris only.
 * Sending large buffers to Singular via pexpect leads to hangs of the interface. Lowering the bound for the switchover to files works around the problem.
 * Sympow needs to have the FPU mode initialized properly on Solaris/x86. High optimization level for the compiler also break Sympow on Solaris/x86

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.3.alpha4 the compile works on Solaris x86 with the custom toolchain. When using a binary clisp-2.47.spkg on Solaris/Sparc and the custom toolchain the compile also finishes. Note that several patches have to be applied for most of the doctests to pass. See the latest status page for more info below.
  • 64 bit support for Solaris 10 on x86-64 as well as Sparc is planned for Sage 3.4, but will take a couple releases to be fully merged.

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

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 Solaris. This is likely a bug in the interface code that just happens to cause trouble on Solaris only.
  • Sending large buffers to Singular via pexpect leads to hangs of the interface. Lowering the bound for the switchover to files works around the problem.
  • Sympow needs to have the FPU mode initialized properly on Solaris/x86. High optimization level for the compiler also break Sympow on Solaris/x86

ToDo

  • make doctests pass 100% :)

  • make building toolchain automatic