[Numpy-discussion] OS X Lion: llvm: numpy and scipy

Samuel John scipy at samueljohn.de
Tue Sep 20 05:13:57 EDT 2011

Ralf, thanks for your answer.

However, in short:

 I want `pip install numpy; pip install scipy` to work on OS X Lion without extra effort :-)

On 19.09.2011, at 19:05, Ralf Gommers wrote:
> Do you think it's possible to teach numpy to use different CC, CXX?
>> This is possible, but numpy probably shouldn't mess with these variables. As a user you can set them permanently by adding them to your bash_profile for example.

The problem is that most things do work fine with the default gcc which has the llvm backend on OS X Lion (10.7) /usr/bin/gcc -> llvm-gcc-4.2. But somehow scipy has problems with that backend.
I do not want to set CC CXX permanently.
I made a homebrew formula for numpy, which takes care of these things. But the policy of the homebrew team is to avoid duplicates which can be installed via pip. Therefore I am asking for support if someone could point me to the place where the compiler is chosen. I'd propose to add an OS X 10.7 switch there in order to avoid the llvm.

>> And the FFLAGS
> This needs to be solved. Perhaps the solution involves more wrappers for broken vecLib/Accelerate functions in scipy? Does anyone know which routines are broken on 10.7? For 10.6 I found this discussion helpful: http://www.macresearch.org/lapackblas-fortran-106. It is claimed there that while '-ff2c' fixes complex routines, it breaks SDOT when used with '-m64'. SDOT is used in linalg.

I don't know nothing of such things. :-(
If there is really something broken with vecLib/Accelerate, a ticket on Apple's bugtracker rdar should be opened.

>> and the switch --fcompiler=gnu95 arg?
> This shouldn't be necessary if you only have gfortran installed.

Ah ok. Thanks!


> Building scipy on OS X Lion 10.7.x currently fails because of some llvm incompatibilies and the gfortran.
> While it's easy to get gfortran e.g. via http://mxcl.github.com/homebrew/ it's hard to `pip install scipy` or manual install because you have to:
> > export CC=gcc-4.2
> > export CXX=g++-4.2
> > export FFLAGS=-ff2c
> > python setup.py build --fcompiler=gnu95
> This way, numpy and then scipy builds successfully.
> Scipy uses the distutil settings from numpy -- as far as I get it -- and therefore scipy cannot add these variables. Right?
> It would be great if numpy and scipy would build right out-of-the-box on OS X, again.
> I'd love to provide a patch but I am lost in the depth of distutils...

More information about the NumPy-Discussion mailing list