1587
Comment:
|
3007
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