Differences between revisions 62 and 75 (spanning 13 versions)
Revision 62 as of 2008-05-19 08:01:27
Size: 3288
Comment: more cleanups
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:
== gmp-4.2.1.p12 == 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:
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. == Build Instructions ==
Line 11: Line 15:
== fortran-20071120.p3 == The fortran.spkg shipped with Sage does not work. So, unpack the sources, delete the fortan spkg and drop in
Line 13: Line 17:
gfortran: need 64 bit run time and compiler - special build on bsd in gfortran-4.2.2/dist  http://sage.math.washington.edu/home/mabshoff/spkgs/fortran-OSX64-20090120.spkg
Line 15: Line 19:
 * 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*}}}
Then:
Line 20: Line 21:
== spkgs with solution ==  * export SAGE64=yes
 * make
Line 22: Line 24:
 * eclib: #3173
 * flint-1.06: #3174
 * zlib: #3175
 * gd: #1621
 * gdmodule: #3180
 * f2c: #3185
 * twisted: #3193 [details below]
 * singular: #3194
 * polybori: #3195
 * r: #3196
 * zn_poly: #3199
 * tachyon: #3227
 * flintqs: #3229
== Known Problems ==
Line 36: Line 26:
== ToDo ==  * 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 38: Line 32:
== twisted-8.0.1 == == spkg status ==
Line 40: Line 34:
Get rid of {{{Qt exports}}} in {{{$SAGE_LOCAL}}}/local/include/python2.5/pymactoolbox.h:
{{{
/* Qt exports */
//extern PyObject *TrackObj_New(Track);
//extern int TrackObj_Convert(PyObject *, Track *);
//extern PyObject *MovieObj_New(Movie);
//extern int MovieObj_Convert(PyObject *, Movie *);
//extern PyObject *MovieCtlObj_New(MovieController);
//extern int MovieCtlObj_Convert(PyObject *, MovieController *);
//extern PyObject *TimeBase Obj_New(TimeBase);
//extern int TimeBase Obj_Convert(PyObject *, TimeBase *);
//extern PyObject *UserDataObj_New(UserData);
//extern int UserDataObj_Convert(PyObject *, UserData *);
//extern PyObject *MediaObj_New(Media);
//extern int MediaObj_Convert(PyObject *, Media *);
}}}


== 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" )
}}}

== numpy, scipy & friends ==

With Python 2.5.2. compiler with {{{--with-gcc="gcc -m64"}}} numpy builds fine. More investigation is needed here.

== 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
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.