[SciPy-user] SciPy with gcc4 and gfortran on OS X
Robert Kern
robert.kern at gmail.com
Fri Apr 7 17:48:14 EDT 2006
Zachary Pincus wrote:
> Hi folks,
>
> Emboldened by the some reported successes with compiling SciPy with
> gfortran and gcc4 on OSX/Intel machines, I thought I'd give it a try
> on my powerbook.
>
> Unfortunately, it did not work -- but hopefully it's close, because
> the problems I saw are all things that various people on this list
> have seen and solved.
>
> VITALS
> OS X 10.4.6, on a PPC G4
> gcc: powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer,
> Inc. build 5250)
> gfortran: GNU Fortran 95 (GCC) 4.2.0 20060218 (experimental)
> (gfortran binary downloaded from hpc.sf.net today.)
> SVN checkout of numpy and scipy from today.
>
> BUILD PROBLEM
> I only had one problem during the build -- there were errors like:
> /usr/bin/ld: can't locate file for: -lcc_dynamic
> I fixed this by modifying numpy/distutils/fcompiler/gnu.py so that
> the Gnu95FCompiler class had a method like:
> def get_libraries(self):
> opt = GnuFCompiler.get_libraries(self)
> if sys.platform=='darwin':
> opt.remove('cc_dynamic')
> return opt
> so that the unnecessary cc_dynamic library was not included.
That's reasonable, yes.
> RUNTIME PROBLEMS
>
>>In [1]: import scipy
>>import linsolve.umfpack -> failed: No module named _umfpack
>
> I think that people had seen this problem before, but using a more
> recent gfortran solved it for them on intel macs. I'm using the most
> recent gfortran from hpc.sf.net on my G4, so this problem still
> persists.
This has nothing to do with gfortran. The linsolve setup.py is screwy and is
building __umfpack.so instead of _umfpack.so.
>>In [2]: scipy.test()
>>import linsolve.umfpack -> failed: No module named _umfpack
>>Overwriting fft=<function fft at 0x284f570> from
>>scipy.fftpack.basic (was <function fft at 0x1395930> from
>>numpy.dft.fftpack)
>>Overwriting ifft=<function ifft at 0x284f5f0> from
>>scipy.fftpack.basic (was <function inverse_fft at 0x1395970> from
>>numpy.dft.fftpack)
>
> ...
>
>>Adjust D1MACH by uncommenting data statements
>>appropriate for your machine.
>>STOP 779
>
> Also a problem people had seen with gfortran, but one that I thought
> had been patched.
No patch has been submitted. I believe that the solution is to compile d1mach.f
with -O only and not -O2. Possibly also the -ffloat-store flag needs to be set
as well.
--
Robert Kern
robert.kern at gmail.com
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list