Opened 6 years ago

Closed 6 years ago

#17513 closed defect (wontfix)

Allow Sage to build and run on old Macs on last time

Reported by: kcrisman Owned by:
Priority: minor Milestone: sage-duplicate/invalid/wontfix
Component: porting Keywords:
Cc: Merged in:
Authors: Reviewers: Karl-Dieter Crisman, Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


Modulo gcc 4.9, of course, though in principle one could ask for a message asking to build gcc 4.7 first.

We need the following

  • This is not supported by at least some shells.
    if [[ "$1" =~ "--notebook="* || "$1" =~ "-n="* || "$1" =~ "-notebook="* ]]; then
        sage-cleaner &>/dev/null &
        exec sage-notebook "$@"
    $ bash --version
    GNU bash, version 2.05b.0(1)-release (powerpc-apple-darwin8.0)
    Copyright (C) 2002 Free Software Foundation, Inc.
  • Need to put back in the pyzmq patch to avoid -arch flag on our gcc, at least for very old indeed Mac - #17510.
  • iml upgrade seems to have removed something for this system. We can add something along the lines of
    if [ $UNAME = "Darwin" ]; then
        # copy cblas headers from gsl
        cp ../patches/gsl_cblas.h cblas.h
    to fix this.
  • Do something about #16044, even if it is to tacitly let it build on this platform without having to do make -k.

Change History (15)

comment:1 Changed 6 years ago by kcrisman

Not formal patch for iml, but at least for very old Darwin

 if [ $UNAME = "Darwin" ]; then
     # copy cblas headers from gsl
     cp ../patches/gsl_cblas.h cblas.h
-    EXTRA_BLAS="--with-cblas=-lcblas"
+    EXTRA_BLAS="--with-cblas=-lgslcblas"

comment:2 Changed 6 years ago by kcrisman

Fix from sage-devel:

if [ "${1:0:11}" = "--notebook=" ] || [ "${1:0:10}" = "-notebook=" ] || [ "${1:0:3}" = "-n=" ]; then

comment:3 Changed 6 years ago by kcrisman

For reference

  • src/bin/sage

    diff --git a/src/bin/sage b/src/bin/sage
    index ca07760..a5d2dae 100755
    a b build_sage() { 
    641641    sage-build "$@" || exit $?
    644 if [[ "$1" =~ "--notebook="* || "$1" =~ "-n="* || "$1" =~ "-notebook="* ]]; then
     644if [ "${1:0:11}" = "--notebook=" ] || [ "${1:0:10}" = "-notebook=" ] || [ "${1:0:3}" = "-n=" ]; then
    645645    sage-cleaner &>/dev/null &
    646646    exec sage-notebook "$@"

comment:4 Changed 6 years ago by kcrisman


  • build/pkgs/iml/spkg-install

    diff --git a/build/pkgs/iml/spkg-install b/build/pkgs/iml/spkg-install
    index 7940695..1241f3e 100755
    a b EXTRA_BLAS="" 
    3535if [ $UNAME = "Darwin" ]; then
    3636    # copy cblas headers from gsl
    3737    cp ../patches/gsl_cblas.h cblas.h
    38     EXTRA_BLAS="--with-cblas=-lcblas"
     38    EXTRA_BLAS="--with-cblas=-lgslcblas"
    4141./configure --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" \

comment:5 Changed 6 years ago by jpflori

For old Darwin isn't IML_CONFIGURE="--with-cblas=-lcblas -latlas ok? (Copying the header should not be necessary.)

comment:6 Changed 6 years ago by kcrisman

Probably, I was just going for minimal changes to current files for my own ease. It is very, very slow to try this for me because I have to have access to the machines and nothing better to do and then it takes a while to do it because they are old.

comment:7 Changed 6 years ago by jpflori

Oh, maybe -lblas is needed. See

if conf['PPC?']:   # OSX 10.4 PPC linker needs help to find the accelerate blas
        veclib_dir = '/System/Library/Frameworks/Accelerate.framework/' + \
        for lib in [ 'libBLAS.dylib', 'libLAPACK.dylib']:
            ln(os.path.join(veclib_dir, lib),
               os.path.join(conf['SAGE_LOCAL'], 'lib', lib))

in our ATLAS install script.

comment:8 Changed 6 years ago by jdemeyer

  • Component changed from build to porting
  • Milestone changed from sage-6.5 to sage-6.9

If anybody going to work on this? Otherwise we might as well close it. This ticket is only becoming more and more obsolete...

comment:9 Changed 6 years ago by kcrisman

Still got an eMac sitting in my office waiting for me to fire up again... I had a very busy spring and summer with very little Sage time. With some luck this fall will be different. You are right about the obsolescence but let's just see.

comment:10 Changed 6 years ago by kcrisman

#17466 suggests maybe there is no fix needed any more on IML. I will check that out.

comment:11 Changed 6 years ago by kcrisman

  • Milestone changed from sage-6.9 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

I think I have given up. I did make the Sage 6.4.1 binaries and that should make people happy for a while, so I guess one could even say I was partly successful with this ticket.

Everything is still documented here in case someone else wanted to try for a newer Sage, also - I really don't think it would be that hard except for the gcc issue. Apparently #19370 fixes #16044, which is nice. I'm not sure if #17510 is only for this platform or not.

comment:12 Changed 6 years ago by kcrisman

  • Reviewers set to Karl-Dieter Crisman

I'll ask for another reviewer on this to confirm the sad closure.

comment:13 Changed 6 years ago by jdemeyer

  • Status changed from needs_review to positive_review

comment:14 Changed 6 years ago by kcrisman

  • Reviewers changed from Karl-Dieter Crisman to Karl-Dieter Crisman, Jeroen Demeyer

comment:15 Changed 6 years ago by vbraun

  • Resolution set to wontfix
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.