[Numpy-discussion] complex roots() segfault on Solaris 10/x86 with numpy 1.2.rc1 using python 2.5.2
Tue Sep 23 03:37:57 CDT 2008
David Cournapeau wrote:
> Michael Abshoff wrote:
>> Sorry for not being precise: Both python and numpy have been build with
>> OPT=-DNDEBUG -g -O0 -fwrapv -Wall -Wstrict-prototypes
> Hm, strange. I don't know why you can't get any debug info, then.
well, it looks like some sort of stack corruption.
>> i.e. "-O0" instead of "-O3". I am using ATLAS and netlib.org Lapack, so
>> I will rebuild everything and run the BLAS as well as Lapack testers to
>> make 100% sure everything is on working correctly. Since the above
>> python is part of a Sage build and passes 99% of Sage's doctests I am
>> pretty sure that ATLAS and Lapack do work, but one never knows. Since I
>> am sleepy I will do all that tomorrow.
> It is indeed very likely the problem is there: typically, problem when
> passing complex number at the C/Fortran, this kind of thing.
>> Ok. Which compiler did you use?
> gcc 3.4 (the one give by open solaris by default), no blas/lapack. I
> actually would try this configuration first (no blas/lapack at all), to
> be sure it is blas/lapack or us.
I had a second wind and I just build python+numpy without blas and
lapack and low and behold it works:
Python 2.5.2 (r252:60911, Sep 23 2008, 04:25:09)
[GCC 4.2.4] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> from numpy import *
>>> a = array([1,0,0,0,0,-1],dtype=complex)
array([ 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, -1.+0.j])
So it looks like gfortran 4.2.4 on Solaris + "-O3" miscompiles lapack,
which is honestly unbelievable considering netlib.org lapack+BLAS are
the yard stick for any Fortran compiler.
Sorry for the noise and thanks for your help.
> Numpy-discussion mailing list
More information about the Numpy-discussion