[Numpy-discussion] Building numpy on Mac OS X 10.6, i386 (no ppc) 32/64bit: Error in Fortran tests due to ppc64

2010-08-16 Thread Samuel John
Hello!

At first, I'd like to say thanks to the numpy/scipy team and all contributors. 
Great software!

On Snow Leopard, aka Mac OS X 10.6.4 (server) I managed to build numpy 
2.0.0.dev8636 (and scipy 0.9.0.dev6646) for arch i386 in combined 32/64bit 
against MacPorts python27 (No ppc here!).

All tests pass (yeha!), except for the fortran related ones. I think there is 
an issue with detecting the right arch. My numpy and python are both i386 32/64 
bit but now ppc.

Only these tests fail, all others pass:
test_callback.TestF77Callback.test_all ... ERROR
test_mixed.TestMixed.test_all ... ERROR
test_return_character.TestF77ReturnCharacter.test_all ... ERROR
test_return_character.TestF90ReturnCharacter.test_all ... ERROR
test_return_complex.TestF77ReturnComplex.test_all ... ERROR
test_return_complex.TestF90ReturnComplex.test_all ... ERROR
test_return_integer.TestF77ReturnInteger.test_all ... ERROR
test_return_integer.TestF90ReturnInteger.test_all ... ERROR
test_return_logical.TestF77ReturnLogical.test_all ... ERROR
test_return_logical.TestF90ReturnLogical.test_all ... ERROR
test_return_real.TestCReturnReal.test_all ... ok
test_return_real.TestF77ReturnReal.test_all ... ERROR
test_return_real.TestF90ReturnReal.test_all ... ERROR
[...]
--
Ran 2989 tests in 47.008s
FAILED (KNOWNFAIL=4, SKIP=1, errors=12)


Some more information (Perhaps I did some known mistake in those steps? Details 
at the end of this mail):
o  Mac OS X 10.6.4 (intel Core 2 duo)
o  Python 2.7 (r27:82500, Aug 15 2010, 12:19:40) 
 [GCC 4.2.1 (Apple Inc. build 5659) + GF 4.2.4] on darwin
o  gcc --version
 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
o  gfortran --version
GNU Fortran (GCC) 4.2.1 (Apple Inc. build 5659) + GF 4.2.4
from gfortran from http://r.research.att.com/tools/
o  I used the BLAS/LAPACK that is provided by Apple's Accelerate framework. 
 
o  environment:
export CFLAGS=-arch i386 -arch x86_64
export FFLAGS=-m32 -m64
export LDFLAGS=-Wall -undefined dynamic_lookup -bundle -arch i386 
-arch x86_64 -framework Accelerate
o  bulid:
python setup.py build --fcompiler=gnu95
 

I have not found a matching ticket in trac. Should I open one or did I 
something very stupid during the build process? Thanks!

Samuel


PS: I failed to succeed in the first shot with python.org's official fat 
precompiled .dmg-file release (ppc/i386 32/64 bit), so I used MacPorts. Later 
today, I'll try again to compile against python.org because I think numpy/scipy 
recommends that version.


For completeness, here are my build steps:

o   Building numpy/scipy from source:
http://scipy.org/Installing_SciPy/Mac_OS_X:
- Make sure XCode is installed with the Development target 10.4 SDK
- Download and install gfortran from http://r.research.att.com/tools/
- svn co http://svn.scipy.org/svn/numpy/trunk numpy
- svn co http://svn.scipy.org/svn/scipy/trunk scipy
- sudo port install fftw-3
- sudo port install suitesparse
- sudo port install swig-python
- mkdir scipy_numpy; cd scipy_numpy
- cd numpy
- cp site.cfg.example site.cfg
- You may want to copy the site.cfg to ~/.numpy-site.cfg
- Edit site.cfg to contain only the following:
 [DEFAULT]
 library_dirs = /opt/local/lib
 include_dirs = /opt/local/include
 [amd]
 amd_libs = amd
 [umfpack]
 umfpack_libs = umfpack
 [fftw]
 libraries = fftw3
- export MACOSX_DEPLOYMENT_TARGET=10.6
- export CFLAGS=-arch i386 -arch x86_64
- export FFLAGS=-m32 -m64
- export LDFLAGS=-Wall -undefined dynamic_lookup -bundle -arch i386 -arch 
x86_64 -framework Accelerate
- export 
PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
- python setup.py build --fcompiler=gnu95
- sudo python setup.py install
- cd ..
- cd scipy
- sed  's|include \(umfpack[^\.]*\.h\)|include 
/opt/local/include/ufsparse/\1|g' 
scipy/sparse/linalg/dsolve/umfpack/umfpack.i  
scipy/sparse/linalg/dsolve/umfpack/___tmp.i
- mv scipy/sparse/linalg/dsolve/umfpack/umfpack.i 
scipy/sparse/linalg/dsolve/umfpack/umfpack.old
- mv scipy/sparse/linalg/dsolve/umfpack/___tmp.i 
scipy/sparse/linalg/dsolve/umfpack/umfpack.i
- python setup.py build --fcompiler=gnu95
- cd
- python
  import numpy; numpy.test()
  import scipy; scipy.test()




A short excerpt of  numpy.test()'s output:


==
ERROR: test_return_real.TestF90ReturnReal.test_all
--
Traceback (most recent call last):
  File 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose-0.11.4-py2.7.egg/nose/case.py,
 line 367, in setUp

Re: [Numpy-discussion] Building numpy on Mac OS X 10.6, i386 (no ppc) 32/64bit: Error in Fortran tests due to ppc64

2010-08-16 Thread Samuel John
Perhaps related tickets, but no perfect match (as far as I can judge):

-   http://projects.scipy.org/numpy/ticket/1399 distutils fails to build ppc64 
support on Mac OS X when requested
This revision is older than the one I used, ergo should already be applied.

-   http://projects.scipy.org/numpy/ticket/ Fix endianness-detection on 
ppc64 builds
closed. Already applied.

-   http://projects.scipy.org/numpy/ticket/527 fortran linking flag option...
Perhaps that linking flag could help to tell numpy (distutils) the right 
arch?

-   http://projects.scipy.org/numpy/ticket/1170 Possible Bug in F2PY Fortran 
Compiler Detection
Hmm, I don't know...

Samuel

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion