Differences between revisions 66 and 75 (spanning 9 versions)
Revision 66 as of 2008-11-14 13:41:51
Size: 2857
Editor: anonymous
Comment: converted to 1.6 markup
Revision 75 as of 2009-05-14 11:57:33
Size: 1566
Comment: add link to Sage 4.0 status page
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= spkg with open issues/manual workarounds = This page is about the seemingly endless port of Sage to 64 bit OSX. Here is a list of build notes for various releases:
Line 5: Line 5:
Sage 3.0.2.alpha1 port to 64 bit OSX:  * [[/sage-4.0|Sage 4.0 notes]]
 * [[/sage-3.4.2|Sage 3.4.2 notes]] - this is outdated
 * [[/sage-3.3|Sage 3.3 notes]] - this is outdated
 * [[/sage-3.2.3|Sage 3.2.3 notes]] - this is outdated
 * [[/sage-3.0.2|Sage 3.0.2 notes]] - this is outdated
Line 7: Line 11:
== fortran-20071120.p3 == Note that it is possible to get Sage working to some extend, but it would be nice to get this port done once and for all. The main problem is for Sage to pass all of its doctests.
Line 9: Line 13:
gfortran: need 64 bit run time and compiler - special build on bsd in gfortran-4.2.2/dist == Build Instructions ==
Line 11: Line 15:
 * copy {{{~/gfortran-4.2.2/dist}}} into {{{$SAGE_LOCAL}}}
 * extend {{{DYLD_LIBRARY_PATH=local/lib/x86_64/:$DYLD_LIBRARY_PATH}}}
 * Add "-m64" to sage_fortran options, link x86_64 libgfortran.dylib
 * rm {{{$SAGE_LOCAL/lib/libssp*, $SAGE_LOCAL/lib/libssp*, $SAGE_LOCAL/lib/libgfortran.2*}}}
The fortran.spkg shipped with Sage does not work. So, unpack the sources, delete the fortan spkg and drop in
Line 16: Line 17:
== spkgs with solution ==  http://sage.math.washington.edu/home/mabshoff/spkgs/fortran-OSX64-20090120.spkg
Line 18: Line 19:
 * eclib: #3173
 * flint-1.06: #3174
 * zlib: #3175
 * gd: #1621
 * gdmodule: #3180
 * f2c: #3185
 * singular: #3194
 * polybori: #3195
 * zn_poly: #3199
 * tachyon: #3227
 * flintqs: #3229
Then:
Line 30: Line 21:
== ToDo ==  * export SAGE64=yes
 * make
Line 32: Line 24:
== gmp-4.2.1.p12 == == Known Problems ==
Line 34: Line 26:
Sage 3.0.2.alpha1 has upgrade to gmp 4.2.2, so use ABI=64 to make it compiled for the 64 bit mode.  * Sage 3.4.2: Builds out of the box, but needs various patches to start up and pass all but one doctest - see [[/sage-3.4.2|Sage 3.4.2 notes]].
 * Sage 3.4.1:
  * FLINT.spkg fails to build due to buglet in spkg-check. A fix is at #5817
  * segfaults at startup due to libSingular problems - same issue as above. Relevant ticket: #5839. This ticket does not fix the problem, but exposes other race conditions in the dealloc code in libSingular on x86-64, i.e. sage.math
 * Sage 3.4: segfaults at startup due to libSingular problems (it is basically the same segfault that happened on exit in Sage 3.3)
Line 36: Line 32:
== _ctypes.so for 64 bit OSX == == spkg status ==
Line 38: Line 34:
Building the _ctypes.so extension fails.

 * replace libffi with latest [3.0.5 on OSX 10.5] to build _ctypes.so - this causes trouble due to missing fficonfig.py
 * pass "-m64" to the CFLAGS when building the _ctypes.so extension since as is the CFLAGS are reset
 * fficonfig.py is missing - use the fixed one
 * ffi_common.h isn't in the right place - fix include paths?

== polybori ==

oddity: The dynamic libs are not named properly, i.e. they are straight up bundles [mabye my fault?]
{{{
-rw-r--r-- 1 mabshoff mabshoff 6686916 May 13 08:28 libpolybori.a
-rw-r--r-- 1 mabshoff mabshoff 17076908 May 13 08:28 libgroebner.a
-rw-r--r-- 1 mabshoff mabshoff 4395496 May 13 08:29 libpboriCudd.a
-rwxr-xr-x 1 mabshoff mabshoff 1542016 May 13 08:29 polybori
-rwxr-xr-x 1 mabshoff mabshoff 857200 May 13 08:30 pboriCudd
-rwxr-xr-x 1 mabshoff mabshoff 5048336 May 13 08:30 groebner
}}}
 
== sagelib ==

sage -b: devel/sage/c_lib/SConstruct
{{{
## We want the debug and optimization flags, since debug symbols are so useful, etc.
env.Append( CFLAGS="-O2 -g -m64" )
env.Append( CXXFLAGS="-O2 -g -m64" )
}}}

== Done (incomplete list) ==

 * gsl-1.10
 * libfplll
 * mpfr-2.3.0.p0
 * ntl-5.4.2
 * symmetrica-2.0.p2
 * pari-2.3.3
 * libgpg_error
 * libgcrypt
 * opencdk
 * gnutls-1.6.3
 * mpfi
 * prereq: #3172
 * termcap: #3171
 * readline: #3170
 * sqlite: #3176
 * python: #3177
 * libpng: #3179
 * freetype: #3178
 * iml: #3181
 * givaro: #3182 [additional LDFLAGS work]
 * linbox: #3183
 * numpy: #3186
 * matplotlib: #3187
 * mpfi: #3188
 * pycrypto: #3189
 * zodb: #3190
 * quaddouble: #3191
 * python_gnutls: #3192
 * libm4fri: #3197
 * ecm: #3198
 * lcalc: #3224:
 * cddlib: #3225
 * gfan: #3226
 * r: #3196
 * twisted: #3193 [the problem previously mentioned are fixed in an updated python.spkg at #3318]
The following has been moved to a subpage [[/spkgfixes|here]].

OSX 64-bit

This page is about the seemingly endless port of Sage to 64 bit OSX. Here is a list of build notes for various releases:

Note that it is possible to get Sage working to some extend, but it would be nice to get this port done once and for all. The main problem is for Sage to pass all of its doctests.

Build Instructions

The fortran.spkg shipped with Sage does not work. So, unpack the sources, delete the fortan spkg and drop in

Then:

  • export SAGE64=yes
  • make

Known Problems

  • Sage 3.4.2: Builds out of the box, but needs various patches to start up and pass all but one doctest - see Sage 3.4.2 notes.

  • Sage 3.4.1:
    • FLINT.spkg fails to build due to buglet in spkg-check. A fix is at #5817
    • segfaults at startup due to libSingular problems - same issue as above. Relevant ticket: #5839. This ticket does not fix the problem, but exposes other race conditions in the dealloc code in libSingular on x86-64, i.e. sage.math
  • Sage 3.4: segfaults at startup due to libSingular problems (it is basically the same segfault that happened on exit in Sage 3.3)

spkg status

The following has been moved to a subpage here.