Differences between revisions 1 and 63 (spanning 62 versions)
Revision 1 as of 2007-11-22 05:02:41
Size: 1587
Editor: was
Comment:
Revision 63 as of 2008-05-28 10:23:26
Size: 3007
Comment: mention twisted-8.0.1 build fix, add _ctypes 64 bit build issue and workaround
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * export CFLAGS="-arch x86_64" = spkg with open issues/manual workarounds =
Line 5: Line 5:
 * building python {{{
For some pointers on how to get python to build in 64 bit mode see
Sage 3.0.2.alpha1 port to 64 bit OSX:
Line 8: Line 7:
http://mail.python.org/pipermail/pythonmac-sig/2007-June/019045.html == fortran-20071120.p3 ==
Line 10: Line 9:
To quote (which is actually about 64 bit on *Tiger*): gfortran: need 64 bit run time and compiler - special build on bsd in gfortran-4.2.2/dist
Line 12: Line 11:
<quote>
The build is universal, but for me only one of the two archictures
actually worked: I did my build on an Intel system and the 64-bit
build worked on that machine, but didn't work on a G5 mac. That's
probably something shallow, but as that machine doesn't have the
Xcode installed and is on the other side of a slow network connection
I haven't tried to debug this yet.
 * 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*}}}
Line 20: Line 16:
1) Edit the configure script, look for "-arch i386" and "-arch ppc"
and change that those to "-arch ppc64" and "-arch x86_64". You'll
have to make multiple changes to the configure file.
== spkgs with solution ==
Line 24: Line 18:
2) Build using:  * eclib: #3173
 * flint-1.06: #3174
 * zlib: #3175
 * gd: #1621
 * gdmodule: #3180
 * f2c: #3185
 * twisted: #3193 [the problem previously mentioned are fixed in an updated python.spkg at #3318]
 * singular: #3194
 * polybori: #3195
 * r: #3196
 * zn_poly: #3199
 * tachyon: #3227
 * flintqs: #3229
Line 26: Line 32:
       $ mkdir build
       $ cd build
       $ CFLAGS="-arch ppc64 -arch x86_64" ../configure \
           --enable-universalsdk \
           --disable-toolbox-glue --prefix=/opt/python25-64bit
       $ make
       $ make install
== ToDo ==
Line 34: Line 34:
3) Optionally: run "make testall" to run the unittests and check
pyconfig.h to check the various SIZEOF definitions.
== gmp-4.2.1.p12 ==
Line 37: Line 36:
You now have a 64-bit build of python in /opt/python25-64bit. 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.

== _ctypes.so for 64 bit OSX ==

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" )
Line 40: Line 68:
== numpy, scipy & friends ==
Line 41: Line 70:
 * Cython {{{ 20:58 < mabshoff> There is also a bug in the way Cython builds its extensions.
20:58 < mabshoff> It needs to use the flags python was build with, not some random stuff people thing
20:58 < mabshoff> think is good.
20:58 < mabshoff> I told Robert about it.
}}}
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

OSX 64-bit

spkg with open issues/manual workarounds

Sage 3.0.2.alpha1 port to 64 bit OSX:

fortran-20071120.p3

gfortran: need 64 bit run time and compiler - special build on bsd in gfortran-4.2.2/dist

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

spkgs with solution

  • eclib: #3173
  • flint-1.06: #3174
  • zlib: #3175
  • gd: #1621
  • gdmodule: #3180
  • f2c: #3185
  • twisted: #3193 [the problem previously mentioned are fixed in an updated python.spkg at #3318]
  • singular: #3194
  • polybori: #3195
  • r: #3196
  • zn_poly: #3199
  • tachyon: #3227
  • flintqs: #3229

ToDo

gmp-4.2.1.p12

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.

_ctypes.so for 64 bit OSX

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

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