[Numpy-discussion] Revisiting numpy/scipy on 64 bit OSX

Michael Abshoff michael.abshoff at googlemail.com
Thu Aug 21 17:15:06 EDT 2008


Hi,

I have been playing with 64 bit numpy/scipy on OSX 10.5 Intel again. I 
thought everything worked after the last time we discussed this, but I 
noticed that I had Scipy import failures in for example optimize since 
the gfortran I used creates 32 bit code per default.

So I build a gcc 4.2.4 on OSX, then build python in 64 bit mode (fixing 
configure.in since Python assumes flags only available with the Apple 
gcc on Darwin), added a wrapper around gfortran that injects a "-m64" 
compile flag. Then I checkout out and build numpy (r5671), scipy (r4661) 
and the current nose release and ran the tests. I had some more failures 
than I expected (details below).

Any thoughts on the failures? I am about to build ATLAS and a couple 
other dependencies on that box.

William Stein is at Scipy 08 and there seems to be at least some 
interest in 64 bit OSX binaries. If anyone wants one let me know and I 
can put one together once Scipy 0.7 and Numpy 1.1.2 are out.

Cheers,

Michael

numpy failed tests:

****************************************************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_polynomial.py", 
line 29, in test_polynomial
Failed example:
     p / q
Expected:
     (poly1d([ 0.33333333]), poly1d([ 1.33333333,  2.66666667]))
Got:
     (poly1d([ 0.333]), poly1d([ 1.333,  2.667]))
**********************************************************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_polynomial.py", 
line 51, in test_polynomial
Failed example:
     p.integ()
Expected:
     poly1d([ 0.33333333,  1.        ,  3.        ,  0.        ])
Got:
     poly1d([ 0.333,  1.   ,  3.   ,  0.   ])
**********************************************************************File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_polynomial.py", 
line 53, in test_polynomialFailed example:
     p.integ(1)
Expected:
     poly1d([ 0.33333333,  1.        ,  3.        ,  0.        ])
Got:
     poly1d([ 0.333,  1.   ,  3.   ,  0.   ])
**********************************************************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_polynomial.py", 
line 55, in test_polynomial
Failed example:
     p.integ(5)
Expected:
     poly1d([ 0.00039683,  0.00277778,  0.025     ,  0.        ,  0. 
     ,
             0.        ,  0.        ,  0.        ])
Got:
     poly1d([ 0.   ,  0.003,  0.025,  0.   ,  0.   ,  0.   ,  0.   ,  0. 
   ])

********************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_ufunclike.py", 
line 48, in test_ufunclike
Failed example:
     U.log2(a)
Expected:
     array([ 2.169925  ,  1.20163386,  2.70043972])
Got:
     array([ 2.17 ,  1.202,  2.7  ])
**********************************************************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_ufunclike.py", 
line 53, in test_ufunclike
Failed example:
     U.log2(a, y)
Expected:
     array([ 2.169925  ,  1.20163386,  2.70043972])
Got:
     array([ 2.17 ,  1.202,  2.7  ])
**********************************************************************
File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/lib/tests/test_ufunclike.py", 
line 55, in test_ufunclike
Failed example:
     y
Expected:
     array([ 2.169925  ,  1.20163386,  2.70043972])
Got:
     array([ 2.17 ,  1.202,  2.7  ])
======================================================================
FAIL: test_umath.TestComplexFunctions.test_it
----------------------------------------------------------------------
Traceback (most recent call last):
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/nose/case.py", 
line 182, in runTest
     self.test(*self.arg)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/core/tests/test_umath.py", 
line 196, in test_it
     assert_almost_equal(fz.real, fr, err_msg='real part %s'%f)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/testing/utils.py", 
line 207, in assert_almost_equal
     assert round(abs(desired - actual),decimal) == 0, msg
AssertionError:
Items are not equal: real part <ufunc 'log10'>
  ACTUAL: -0.3010299956639812
  DESIRED: 0.0


scipy:

======================================================================
ERROR: test_nonsymmetric_modes (test_arpack.TestEigenNonSymmetric)
----------------------------------------------------------------------
Traceback (most recent call last):
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", 
line 204, in test_nonsymmetric_modes
     self.eval_evec(m,typ,k,which)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", 
line 186, in eval_evec
     eval,evec=eigen(a,k,which=which,**kwds)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", 
line 220, in eigen
     raise RuntimeError("Error info=%d in arpack"%info)
RuntimeError: Error info=-8 in arpack

======================================================================
ERROR: test_starting_vector (test_arpack.TestEigenNonSymmetric)
----------------------------------------------------------------------
Traceback (most recent call last):
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", 
line 214, in test_starting_vector
     self.eval_evec(self.symmetric[0],typ,k,which='LM',v0=v0)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py", 
line 186, in eval_evec
     eval,evec=eigen(a,k,which=which,**kwds)
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", 
line 220, in eigen
     raise RuntimeError("Error info=%d in arpack"%info)
RuntimeError: Error info=-8 in arpack
======================================================================
FAIL: test_implicit (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/scipy/odr/tests/test_odr.py", 
line 118, in test_implicit
     2.0778813389755596e-03]]),
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/testing/utils.py", 
line 304, in assert_array_almost_equal
     header='Arrays are not almost equal')
   File 
"/Users/mabshoff/64bit_numpy_scipy/lib/python2.5/site-packages/numpy/testing/utils.py", 
line 289, in assert_array_compare
     assert cond, msg
AssertionError:
Arrays are not almost equal

(mismatch 4.0%)
  x: array([[  2.10892628e+00,  -1.94376722e+00,   7.02635228e-02,
          -4.71752493e-02,   5.25155371e-02],
        [ -1.94376722e+00,   2.04814914e+00,  -6.16004809e-02,...
  y: array([[  2.10892746e+00,  -1.94376864e+00,   7.02635509e-02,
          -4.71752674e-02,   5.25155759e-02],
        [ -1.94376864e+00,   2.04815092e+00,  -6.16005159e-02,...



More information about the NumPy-Discussion mailing list