Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Ben Willmore <bdeb <at> willmore.eu>
Subject: installation of scipy on Mac OS X 10.7
Newsgroups: gmane.comp.python.scientific.devel
Date: Tuesday 9th August 2011 16:09:48 UTC (over 6 years ago)
I have spent a day attempting to get a version of scipy that passes unit
tests on Mac OS X 10.7. I hope the results of my investigations (below) are
useful to others trying to do the same thing.

Ben


== Introduction

I have attempted to obtain a version of scipy on Mac OS X 10.7 that passes 
unit tests, both by downloading it, or by compiling against the system's
python, using the three C compilers available, and various compile flags.


== Conclusions

1. Both Enthought Python 7.1 and the scipy superpack crash during scipy
unit 
tests.

2. Compilation with the default C compiler (llvm-gcc-4.2) also leads to a
crash during unit tests.

3. Compilation using either of the other C compilers (gcc-4.2 or clang) 
allows scipy to complete unit tests, only if the fortran flag --ff2c is
used.
In both cases, scipy passes almost all tests -- producing errors on one,
and
failing two more. With gcc-4.2, numpy passes all tests. With clang, numpy 
fails one test.

4. The following recipe was most successful for me:

* Remove everything in /usr/local and /Library/Python/2.7/site-packages
  (BEWARE! These directories may well contain stuff you care about)
  
* Install gfortran from here:
  http://r.research.att.com/gfortran-lion-5666-3.pkg

mkdir ~/tmp
cd ~/tmp
git clone git://github.com/numpy/numpy.git
cd numpy
export CC=gcc-4.2
export CXX=g++-4.2
export FFLAGS=-ff2c
python setupegg.py build --fcompiler=gfortran
sudo python setupegg.py install

cd ~/tmp
git clone git://github.com/scipy/scipy.git
cd scipy
export CC=gcc-4.2
export CXX=g++-4.2
export FFLAGS=-ff2c
python setupegg.py build --fcompiler=gfortran
sudo python setupegg.py install

(repeat for matplotlib, ipython ...)


== Details of test results

= Enthought python 7.1
numpy.test(): OK
scipy.test(): Crash (Segmentation fault)


= Scipy superpack
numpy.test(): 3 failures:
FAIL: test_umath_complex.TestCsqrt.test_special_values(, 1, 
 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(, -1, 
 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(, 0.0,

 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(,
-0.0, 
 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(, inf,

 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(,
-inf, 
 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(, nan,

 inf, inf, inf)
FAIL: test_umath_complex.TestCsqrt.test_special_values(,
-inf, 
 1, 0.0, inf)
scipy.test(): Crash (Abort trap)


= Compilation from scratch (see above for recipe)

= llvm-gcc-4.2
= (no compiler flags)
numpy.test(): OK
scipy.test(): Crash (Segmentation fault: 11)


= gcc-4.2
= CC=gcc-4.2 CXX=g++-4.2
numpy.test(): OK
scipy.test(): Hang (during ARPACK tests)


= clang
= CC=clang CXX=clang++
numpy.test(): 1 failure:
FAIL: Test basic arithmetic function errors
AssertionError: Type  did not raise fpe error ''.
scipy.test(): Hang (during ARPACK tests)


= llvm-gcc-4.2 and -ff2c
= FFLAGS=-ff2c
numpy.test(): OK
scipy.test(): Crash (Segmentation fault: 11)


= gcc-4.2 and -ff2c
= CC=gcc-4.2 CXX=g++-4.2 FFLAGS=-ff2c
numpy.test(): OK
scipy.test(): 1 error, 2 failures:
ERROR: test_arpack.test_hermitian_modes(True, , 'F', 2,
'SA', 
 None, None, )
FAIL: test_iterative.test_convergence(, 
 )
FAIL: test_expon (test_morestats.TestAnderson)


= clang and -ff2c
= CC=clang CXX=clang++ FFLAGS=-ff2c
numpy.test(): 1 failure:
FAIL: Test basic arithmetic function errors
AssertionError: Type  did not raise fpe error ''.
scipy.test(): 1 error, 2 failures:
ERROR: test_arpack.test_hermitian_modes(True, , 'F', 2,
'SA', 
 None, None, )
FAIL: test_iterative.test_convergence(, 
 )
FAIL: test_expon (test_morestats.TestAnderson)
 
CD: 3ms