Differences between revisions 10 and 11
Revision 10 as of 2008-01-14 05:02:28
Size: 16611
Comment: add libm4ri
Revision 11 as of 2008-01-15 02:01:35
Size: 16633
Comment: update mpfr status as merged
Deletions are marked like this. Additions are marked like this.
Line 51: Line 51:
 * f2c-20070816 - no clue  * f2c-20070816 - must be 64 bit
Line 56: Line 56:
 * mpfr-2.3.0.p0 - must be 64 bit  * mpfr-2.3.0.p0 - integarted into mpfr-2.3.0.p1

OSX 64-bit

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

But:

[06:36] <mabshoff> But it doesn't match the python flags. I checked on it once. [06:37] <was_> It's distutils. [06:37] <was_> Cython doesn't have anything to do with the flags. }}}

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 - 32 bit enough for now
  • lcalc-20070107.p0 - 32 bit enough for now
  • 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:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   SAGE_OPT="-O2 -g -m64 " && export SAGE_OPT
fi

More changes in spkg/base/bzip2-1.0.4-install

#####################################################################
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:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   CFLAGS="-O2 -g -m64 " && export CFLAGS
fi

Note: Fix dylib build on OSX!

#####################################################################
readline-5.2.p0:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   CFLAGS="-O2 -g -m64 " && export CFLAGS
fi

Note: Fix dylib build on OSX!

#####################################################################
pari-2.3.3:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   CFLAGS="-g -m64 " && export CFLAGS
fi

        GP/PARI CALCULATOR Version 2.3.3 (released)
   i386 running darwin (x86-64/GMP kernel) 64-bit version
  compiled: Jan 13 2008, gcc-4.0.1 (Apple Inc. build 5465)
   (readline not compiled in, extended help available)


#####################################################################
ntl-5.4.1.p10

in build():

     if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
         CFLAGS=" -m64 $CFLAGS"
         CXXFLAGS=" -m64 $CXXFLAGS"
     fi

libntl.dylib is 32 bits. In patches/ntl_makefile add "-m64":
libntl.dylib: $(OBJ)
        $(CXX) -m64 -fPIC -dynamiclib -undefined dynamic_lookup -o libntl.dylib $(OBJ) $(GMP_LIBDIR) $(GMP_LIB)

#####################################################################
cremona-20071219.p1:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
    echo "64 bit MacIntel build"
    PICFLAG=-m64
    export PICFLAG
fi

OPTFLAG overwrites CC and CXX

#####################################################################
flint-1.05

spkg-install:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   FLINT_TUNE=" -fPIC -m64"
fi

In the dylib Darwin case:

    if ["$SAGE64" = "yes" ]; then
       $MAKE libflint.dylib64
    else
       $MAKE libflint.dylib
    fi

in src/makefile add

libflint.dylib64: $(FLINTOBJ)
        $(CC) -m64 -single_module -fPIC -dynamiclib -o libflint.dylib $(FLINTOBJ) $(LIBS)

spkg-check:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   FLINT_TUNE=" -fPIC -m64"
fi


#####################################################################
zlib-1.2.3.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

#####################################################################
sqlite-3.5.3.p1:

bsd:standard mabshoff$ tar xjf sqlite-3.5.3.p1.spkg
tar: sqlite-3.5.3.p1/src/test: time stamp 2038-01-18 19:14:07 is 947212601 s in the future

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   CFLAGS="-O2 -g -m64 "; export CFLAGS
   CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS
fi

#####################################################################
plibgpg_error-1.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

#####################################################################
libgcrypt-1.2.4

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   CFLAGS="-O2 -g -m64 "; export CFLAGS
   CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS
fi

#####################################################################
opencdk-0.5.9

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   CFLAGS="-O2 -g -m64 "; export CFLAGS
   CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS
fi

#####################################################################
gnutls-1.6.3

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   CFLAGS="-O2 -g -m64 "; export CFLAGS
   CXXFLAGS="-O2 -g -m64 "; export CXXFLAGS
fi

#####################################################################
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

#####################################################################
python:


Makefile.pre.in: add "-m64" to LDFLAGS

export EXTRA_CFLAGS="-m64"
./configure --prefix="$SAGE_LOCAL" --without-libpng --enable-unicode=ucs4  --disable-toolbox-glue

posixmodule.c: setpgrp shit - unsolved - ifdef around it.

in local/lib/python2.5/config/Makefile: add -m64 to OPT
#####################################################################
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

#####################################################################
gsl-1.9:

if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
   echo "64 bit MacIntel"
   CFLAGS="-O2 -g -m64 "; export CFLAGS
   CPPFLAGS="-O2 -g -m64 "; export CPPFLAGS
fi

#####################################################################
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

#####################################################################
givaro-3.2.6.p5:

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

#####################################################################
numpy-20080104-1.0.4.p1: skipped
scipy-20071020-0.6.p2: skipped (due to numpy)
scipy_sandbox-20071020: skipped (due to numpy)
matplotlib-0.91.1.p1: skipped (due to numpy)
#####################################################################
mpfr-2.3.0.p0:

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

#####################################################################
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

#####################################################################
symmetrica-2.0:

Add -m64 in patches/makefile in three places

#####################################################################
libfplll-2.1.6-20071129

CFLAGS="$CFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64"
CXXFLAGS="$CXXFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib -m64"
CPPFLAGS="$INCLUDES -m64"

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


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