3750
Comment: add symmetrica on Solaris 9/10 and givaro-3.2.10.rc3.spkg issues on Solaris 9
|
← Revision 86 as of 2022-04-05 02:15:00 ⇥
0
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. 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 the minimum amount of external packages. * A 32 bit port using gcc 4.2.3. This requires a build from scratch of large portions of the GNU toolchain since the Sun supplied version are either buggy or plainly do not properly work * A 64 bit port using Sun's Forte compiler suite since it seems that there are fewer problems with that toolchain. This will likely be limited to Solaris 10, at least initially. == Open Issues == * clisp fails to compile, but clisp 2.44.1 builds fine with gcc 3.4.6. It segfaults during "make check". This has been reported to clisp-devel, but no reaction so far * libfplll's Solaris workaround for round() is wrong for negative numbers. This was pointed out by Paul Zimmermann * Symmetrica seems to segfault on Sparc * givaro-3.2.10.rc3.spkg includes fenv.h in src/src/kernel/zpz/givgfq.inl - this is an issue on Solaris 9, but works fine on Solaris 10 == History of efforts == * 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 Kirby) worked on this, but I am not sure if Sage ever passed 100% of doctests == ToDo == * make doctests pass 100% :) * open track tickets for all known issue * make building toolchain automatic * find way to make Sage aware of the toolchain |