1587
Comment:
|
5594
add linbox ticket
|
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 = Sage 3.0.2.alpha1 port to 64 bit OSX: |
Line 5: | Line 6: |
* building python {{{ For some pointers on how to get python to build in 64 bit mode see |
== gmp-4.2.1.p12 == |
Line 8: | Line 8: |
http://mail.python.org/pipermail/pythonmac-sig/2007-June/019045.html | {{{ broken, need to update to 4.2.2, skip patching add ABI=64, otherwise set ABI=32 Maybe: Our gmp 4.2.1 is FUBAR, i.e. Cygwin problems Important: add {{{extern __inline__ gmp-h.in}}} fix for Darwin }}} |
Line 10: | Line 15: |
To quote (which is actually about 64 bit on *Tiger*): | == fortran-20071120.p3 == |
Line 12: | Line 17: |
<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. |
gfortran: need 64 bit run time and compiler - special build on bsd in gfortran-4.2.2/dist |
Line 20: | Line 19: |
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. |
* 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 24: | Line 24: |
2) Build using: | == spkgs with solution == |
Line 26: | Line 26: |
$ mkdir build $ cd build $ CFLAGS="-arch ppc64 -arch x86_64" ../configure \ --enable-universalsdk \ --disable-toolbox-glue --prefix=/opt/python25-64bit $ make $ make install |
* prereq: #3172 * termcap: #3171 * readline: #3170 * eclib: #3173 * flint-1.06: #3174 * zlib: #3175 * sqlite: #3176 * python: #3177 * libpng: #3179 * freetype: #3178 * gd: #1621 * gdmodule: #3180 * iml: #3181 * givaro: #3182 [additional LDFLAGS work] * linbox: #3183 |
Line 34: | Line 42: |
3) Optionally: run "make testall" to run the unittests and check pyconfig.h to check the various SIZEOF definitions. |
== ToDo == |
Line 37: | Line 44: |
You now have a 64-bit build of python in /opt/python25-64bit. | == f2c-20070816 == uncomment "CFLAGS = -O" in f2c/makefile uncomment "CFLAGS = -O -fPIC" in libf2c/makefile {{{ if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 " else CFLAGS="-fPIC" fi }}} Dual architecture static lib is created, but f2c works == mpfi == {{{ if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 "; export CFLAGS CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS CPPFLAGS="-O2 -g -m64 "; export CPPFLAGS fi }}} == quaddouble-2.2.p7 == {{{ CXXFLAGS='-fPIC -O3 -Dx86 -m64' export CXXFLAGS }}} == twisted-2.5.0.p8 == depends on pymactoolbox.h? {{{ gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -m64 -I/Users/mabshoff/sage-2.10.alpha2/local/include/python2.5 -c twisted/internet/cfsupport/cfsupport.c -o build/temp.macosx-10.3-i386-2.5/twisted/internet/cfsupport/cfsupport.o -w In file included from twisted/internet/cfsupport/cfsupport.c:8: /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:138: error: syntax error before ‘Track’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:140: error: syntax error before ‘Movie’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:142: error: syntax error before ‘MovieController’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:146: error: syntax error before ‘UserData’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:148: error: syntax error before ‘Media’ error: command 'gcc' failed with exit status 1 Error: Subprocess exited with result 1 for project core Error installing Twisted networking framework real 0m5.832s user 0m1.288s sys 0m0.744s sage: An error occurred while installing twisted-2.5.0.p8 Please email sage-devel http://groups.google.com/group/sage-devel explaining the problem and send the relevant part of of /Users/mabshoff/sage-2.10.alpha2/install.log. Describe your computer, operating system, etc. If you want to try to fix the problem, yourself *don't* just cd to /Users/mabshoff/sage-2.10.alpha2/spkg/build/twisted-2.5.0.p8 and type 'make'. Instead type "/Users/mabshoff/sage-2.10.alpha2/sage -sh" in order to set all environment variables correctly, then cd to /Users/mabshoff/sage-2.10.alpha2/spkg/build/twisted-2.5.0.p8 (When you are done debugging, you can type "exit" to leave the subshell.) make[1]: *** [installed/twisted-2.5.0.p8] Error 1 }}} == singular-3-0-4-1-20071209.p3 == {{{ CXXFLAGS="$CXXFLAGS -fPIC -O3 -g -m64"; export CXXFLAGS CFLAGS="$CFLAGS -fPIC -O3 -g -m64"; export CFLAGS CPPFLAGS="$CXXFLAGS -fPIC -O3 -g -m64"; export CPPFLAGS }}} LDFLAGS? == polybori == {{{ 64 bit MacIntel Starting build... Running build_polybori... scons: Reading SConscript files ... KeyError: 'PYTHONHOME': File "/Users/mabshoff/sage-2.10.alpha2/spkg/standard/polybori-0.1-r6/src/PolyBoRi-0.1/SConstruct", line 105: env=Environment(ENV = {'PATH': os.environ['PATH']}, options=opts,tools = tools, toolpath = '.') File "/Users/mabshoff/sage-2.10.alpha2/local/lib/scons-0.97/SCons/Environment.py", line 779: options.Update(self) File "/Users/mabshoff/sage-2.10.alpha2/local/lib/scons-0.97/SCons/Options/__init__.py", line 145: execfile(filename, values) File "custom.py", line 13: PYPREFIX=os.environ['PYTHONHOME'] File "/Users/mabshoff/sage-2.10.alpha2/local/lib/python2.5/UserDict.py", line 22: raise KeyError(key) Error building PolyBoRi. }}} == 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 41: | Line 144: |
* 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. |
== libm4fri == {{{ CFLAGS="$CFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64" CXXFLAGS="$CXXFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64" CPPFLAGS="$INCLUDES -m64" |
Line 46: | Line 150: |
##################################################################### == 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 |
OSX 64-bit
spkg with open issues/manual workarounds
Sage 3.0.2.alpha1 port to 64 bit OSX:
gmp-4.2.1.p12
broken, need to update to 4.2.2, skip patching add ABI=64, otherwise set ABI=32 Maybe: Our gmp 4.2.1 is FUBAR, i.e. Cygwin problems Important: add {{{extern __inline__ gmp-h.in
fix for Darwin}}}
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
- prereq: #3172
- termcap: #3171
- readline: #3170
- eclib: #3173
- flint-1.06: #3174
- zlib: #3175
- sqlite: #3176
- python: #3177
- libpng: #3179
- freetype: #3178
- gd: #1621
- gdmodule: #3180
- iml: #3181
- givaro: #3182 [additional LDFLAGS work]
- linbox: #3183
ToDo
f2c-20070816
uncomment "CFLAGS = -O" in f2c/makefile uncomment "CFLAGS = -O -fPIC" in libf2c/makefile
if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 " else CFLAGS="-fPIC" fi
Dual architecture static lib is created, but f2c works
mpfi
if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 "; export CFLAGS CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS CPPFLAGS="-O2 -g -m64 "; export CPPFLAGS fi
quaddouble-2.2.p7
CXXFLAGS='-fPIC -O3 -Dx86 -m64' export CXXFLAGS
twisted-2.5.0.p8
depends on pymactoolbox.h?
gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -m64 -I/Users/mabshoff/sage-2.10.alpha2/local/include/python2.5 -c twisted/internet/cfsupport/cfsupport.c -o build/temp.macosx-10.3-i386-2.5/twisted/internet/cfsupport/cfsupport.o -w In file included from twisted/internet/cfsupport/cfsupport.c:8: /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:138: error: syntax error before ‘Track’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:140: error: syntax error before ‘Movie’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:142: error: syntax error before ‘MovieController’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:146: error: syntax error before ‘UserData’ /Users/mabshoff/sage-2.10.alpha2/local/include/python2.5/pymactoolbox.h:148: error: syntax error before ‘Media’ error: command 'gcc' failed with exit status 1 Error: Subprocess exited with result 1 for project core Error installing Twisted networking framework real 0m5.832s user 0m1.288s sys 0m0.744s sage: An error occurred while installing twisted-2.5.0.p8 Please email sage-devel http://groups.google.com/group/sage-devel explaining the problem and send the relevant part of of /Users/mabshoff/sage-2.10.alpha2/install.log. Describe your computer, operating system, etc. If you want to try to fix the problem, yourself *don't* just cd to /Users/mabshoff/sage-2.10.alpha2/spkg/build/twisted-2.5.0.p8 and type 'make'. Instead type "/Users/mabshoff/sage-2.10.alpha2/sage -sh" in order to set all environment variables correctly, then cd to /Users/mabshoff/sage-2.10.alpha2/spkg/build/twisted-2.5.0.p8 (When you are done debugging, you can type "exit" to leave the subshell.) make[1]: *** [installed/twisted-2.5.0.p8] Error 1
singular-3-0-4-1-20071209.p3
CXXFLAGS="$CXXFLAGS -fPIC -O3 -g -m64"; export CXXFLAGS CFLAGS="$CFLAGS -fPIC -O3 -g -m64"; export CFLAGS CPPFLAGS="$CXXFLAGS -fPIC -O3 -g -m64"; export CPPFLAGS
LDFLAGS?
polybori
64 bit MacIntel Starting build... Running build_polybori... scons: Reading SConscript files ... KeyError: 'PYTHONHOME': File "/Users/mabshoff/sage-2.10.alpha2/spkg/standard/polybori-0.1-r6/src/PolyBoRi-0.1/SConstruct", line 105: env=Environment(ENV = {'PATH': os.environ['PATH']}, options=opts,tools = tools, toolpath = '.') File "/Users/mabshoff/sage-2.10.alpha2/local/lib/scons-0.97/SCons/Environment.py", line 779: options.Update(self) File "/Users/mabshoff/sage-2.10.alpha2/local/lib/scons-0.97/SCons/Options/__init__.py", line 145: execfile(filename, values) File "custom.py", line 13: PYPREFIX=os.environ['PYTHONHOME'] File "/Users/mabshoff/sage-2.10.alpha2/local/lib/python2.5/UserDict.py", line 22: raise KeyError(key) Error building PolyBoRi.
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" )
libm4fri
CFLAGS="$CFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64" CXXFLAGS="$CXXFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64" CPPFLAGS="$INCLUDES -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