OSX 64-bit
Building Python 2.5.2 on OSX
- /configure --prefix=/Users/mabshoff/python-2.5.2-64 --with-gcc="gcc -m64" --enable-toolbox-glue=false
make && make install works, but there are various error message from gcc since it fails to build the toolbox glue on OSX, despite the above command disabling it.
Build Order of packages for 2.10.alpha2
- dir-0.1 - sources !solve!
- prereq-0.3 - sources !solve!
- sage_scripts-2.10.alpha2 - sources !solve!
- bzip2-1.0.4 - 32 bit enough? !solve!
- conway_polynomials-0.2 - database? !solve!
- gmp-4.2.1.p12 - must be 64 bit !solve!
- termcap-1.3.1 - must be 64 bit !solve!
- readline-5.2.p0 - must be 64 bit !solve!
- pari-2.3.3 - must be 64 bit !solve!
- ntl-5.4.1.p10 - must be 64 bit !solve!
- cremona-20071219.p1 - must be 64 bit !solve!
- graphs-20070722 - sources? !solve!
- elliptic_curves-0.1 - don't know !solve!
- extcode-2.10.alpha2 - sources? !solve!
- flint-1.05 - must be 64 bit !solve!
- zlib-1.2.3.p3 - must be 64 bit !solve!
- sqlite-3.5.3.p1 - must be 64 bit !solve!
- libgpg_error-1.5 - must be 64 bit !solve!
- libgcrypt-1.2.4 - must be 64 bit !solve!
- opencdk-0.5.9 - must be 64 bit !solve!
- gnutls-1.6.3 - must be 64 bit !solve!
- libpng-1.2.22.p3 - must be 64 bit !solve!
- python-2.5.1.p11 - must be 64 bit - see above
- freetype-2.3.5 - must be 64 bit
- gd-2.0.33.p5 - must be 64 bit - distutils (partially?)
- gdmodule-0.56.p4 - must be 64 bit - distutils
- fortran-20071120.p3 - must be 64 bit - build gcc 4.2.2 gfortran from source
- lapack-20071123.p0 - must be 64 bit
- atlas-3.8.p7 - skipped anyway
- gsl-1.9 - must be 64 bit
- iml-1.0.1.p8 - must be 64 bit
- ipython-0.8.1.p1 - python? - distutils?
- givaro-3.2.6.p5 - must be 64 bit
- linbox-20070915.p3 - must be 64 bit
- f2c-20070816 - must be 64 bit
- blas-20070724 - must be 64 bit
- numpy-20080104-1.0.4.p1 - must be 64 bit - distutils
- matplotlib-0.91.1.p1 - must be 64 bit - distutils
- mercurial-0.9.5.p0 - must be 64 bit
- mpfr-2.3.0.p0 - integarted into mpfr-2.3.0.p1
- pexpect-2.0.p1 - must be 64 bit - distutils
- mpfi-1.3.4-cvs20071125.p4 - must be 64 bit
- pycrypto-2.0.1.p1 - python - distutils
- cython-0.9.6.9 - python - distutils
- sympy-0.5.7 - python - distutils
- zodb3-3.7.0 - python only? - distutils
- networkx-0.35.1 - pure python - distutils
- quaddouble-2.2.p7 - must be 64 bit
- python_gnutls-1.1.1 - python - distutils
- twistedweb2-20070619 - python only? - distutils
- twisted-2.5.0.p8 - python only? - distutils
- singular-3-0-4-1-20071209.p3 - must be 64 bit
- scons-0.97 - python only - distutils
- symmetrica-2.0.p0 - must be 64 bit
- libfplll-2.1.6-20071129 - must be 64 bit
- polybori-0.1-r6 - must be 64 bit
- rpy-1.0.1.p0 - must be 64 bit
- r-2.6.1.p7 - must be 64 bit
- rubiks-20070912.p0 - must be 64 bit
- libm4ri-20071224 - must be 64 bit
- sage-2.10.alpha2 - must be 64 bit
- doc-2.10.alpha2 - doc
- examples-2.10.alpha2 - doc
- gap-4.4.10.p0 - 32 bit enough for now
- clisp-2.41.p12 - 32 bit enough for now
- maxima-5.13.0.p2 - 32 bit enough for now
- genus2reduction-0.3 - depends on libpari, so needs to be 64 bits
- lcalc-20070107.p0 - depends on libpari, so needs to be 64 bits
- sympow-1.018.1.p3 - 32 bit enough for now
- cddlib-094b.p0 - 32 bit enough for now
- gfan-0.2.2.p2 - 32 bit enough for now
- ecm-6.1.3 - 32 bit enough for now
- tachyon-0.98beta.p3 - 32 bit enough for now
- weave-0.4.9 - 32 bit enough for now
- flintqs-20070817.p1 - 32 bit enough for now
- palp-1.1 - 32 bit enough for now
- moin-1.5.7.p2 - python
- ipython1-20070130 - python
- scipy-20071020-0.6.p2 - python only?
- scipy_sandbox-20071020 - python only?
- cvxopt-0.9.p5 - no clue
- jmol-11.5.2 - java
Build Notes
Sage 2.10.alpha2 port to 64 bit OSX:
prereq-0.3
This is now #3172
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
termcap-1.3.1
This is now #3171
readline-5.2.p0
This is now #3170
eclib-20080310.p1
This is now #3173
flint-1.06
This is now #3174
zlib-1.2.3.p3
This is now #3175
sqlite-3.5.3.p1
This is now #3176
libpng-1.2.22.p3
if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then CFLAGS=" -m64 $CFLAGS -fPIC -g -I\"$SAGE_LOCAL/include\"" else CFLAGS="$CFLAGS -fPIC -g -I\"$SAGE_LOCAL/include\"" fi export CFLAGS
Note: gd-2.0.35 requires a dynamic libpng12.dylib
freetype-2.3.5
if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 "; export CFLAGS CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS fi
gd-2.0.33.p5
Update to 2.0.35
# needed to pick up zlib.h if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then CFLAGS=" -m64 $CFLAGS -fPIC -g -I\"$SAGE_LOCAL/include\" -I$SAGE_LOCAL/include/freetype2/" else CFLAGS="$CFLAGS -fPIC -g -I\"$SAGE_LOCAL/include\" -I$SAGE_LOCAL/include/freetype2/" fi export CFLAGS
Makefile.am: add "-m64"
fortran-20071120.p3
gfortran 4.2.2 compiled from scratch.
Add "-m64" to sage_fortran options, link x86_64 libgfortran.dylib
iml-1.0.1.p8
if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then echo "64 bit MacIntel" CFLAGS="-O2 -g -m64 "; export CFLAGS CPPFLAGS="-O2 -g -m64 "; export CPPFLAGS fi
linbox-20070915.p3
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
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
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)
- givaro-3.2.6.p10
- 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