Differences between revisions 2 and 32 (spanning 30 versions)
Revision 2 as of 2007-11-28 14:17:18
Size: 1412
Comment: add some more specific doctest failures
Revision 32 as of 2009-01-10 01:04:41
Size: 3879
Comment: clean up history of port and prune open issues to list of still relevant problems
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
mabshoff is currently working on a 32 bit build on Solaris 9/Sparc. It should run on Solaris 10/Sparc. == Goal ==
 * Get Sage compiling and running with recent Sun Forte Compiler on Solaris 10 and higher on x86/x86-64/sparc
Line 7: Line 8:
== History of efforts == == Status ==
 * mabshoff is currently working on a 32 bit build on Solaris 9/Sparc. It should run on Solaris 10 and non-Sparc CPUs supported by Solaris, i.e. x86 and x86-64. There are a few build fixes and package issues to work around. But due to some issues in the coercion code/libSingular many doctests that involve mv polynomials fail.
Line 9: Line 11:
== Short Term Plan ==

 * build Sage 3.1.3 with gcc 4.2.4 + custom binutils in 32 bit mode
 * add the needed spkg-install fixes to build Sage 3.2 in 64 bit mode with gcc 4.2.4

== 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.
Line 25: Line 58:
  * various people (David Kirby) worked on this, but I am not sure if Sage ever passed 100% of doctests   * 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
Line 29: Line 68:
 * make doctests pass 100%
 * open track tickets for all known issue
 * make doctests pass 100% :)
 * make building toolchain automatic

The Solaris Port of Sage

This page tracks the Solaris port of Sage.

Goal

  • Get Sage compiling and running with recent Sun Forte Compiler on Solaris 10 and higher on x86/x86-64/sparc

Status

  • mabshoff is currently working on a 32 bit build on Solaris 9/Sparc. It should run on Solaris 10 and non-Sparc CPUs supported by Solaris, i.e. x86 and x86-64. There are a few build fixes and package issues to work around. But due to some issues in the coercion code/libSingular many doctests that involve mv polynomials fail.

Short Term Plan

  • build Sage 3.1.3 with gcc 4.2.4 + custom binutils in 32 bit mode
  • add the needed spkg-install fixes to build Sage 3.2 in 64 bit mode with gcc 4.2.4

Build Fixes to Integrate

  • Sage 3.2.3 build issues and doctest failures

  • Sage 3.1.3 build issues and doctest failures

  • 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 - 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