octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS Build problem (what.m missing?)


From: John Swensen
Subject: Re: CVS Build problem (what.m missing?)
Date: Wed, 31 Oct 2007 21:35:11 -0400
User-agent: Thunderbird 2.0.0.6 (Macintosh/20070728)

John W. Eaton wrote:
On 31-Oct-2007, John Swensen wrote:

| OK...this may be one of the strangest result I have ever seen. In the | conftest.f file generated for the BLAS calling convention test, there | are the following lines:
| 10 continue
|       retval = zdotu (n, zx, incx, zy, incy)
| Now, since I couldn't seem to get meaningful information from GDB, I | decided to use the time tested debug practice of littering the file with | print statements to see how far along it was getting. After messing | around a little, I discovered that if I put a print statement between | the two lines mentioned above, namely:
| 10 continue
|       print *, ''
|       retval = zdotu (n, zx, incx, zy, incy)
| that the illegal instruction error went away and it printed out:
| <empty line>
| succeeded
| | I have never really programmed in fortran, but this seems like some sort | of compiler bug.

Or just that you are seeing unpredictible results because the call to
zdotu is compiled using one convention for returning complex values
from a function and the library that provides zdotu is compiled using
another convention?  If the code is writing over the stack in some
way, then I think the fact that the behavior changes when you insert
print statements is not too surprising.

What is the value of retval after the call?  Is it really correct?

jwe

You were right. If I try to print out retavl, I still get an "Illegal instruction" error. So I guess I am not exactly sure the solution to this. I am using the vecLib that is provided by Apple and the gfortran that is compiled using fink. Is it as easy and rebuilding and re-installing gfortran, or is there some other underlying problem that will prevent even that from working? Will installing a version of BLAS/ATLAS manually with the fink supplied Fortran fix the calling convention problem? Any suggestions on how to go forward, other than just inhibiting the use of the system BLAS and using the functions provided by Octave?

John Swensen


reply via email to

[Prev in Thread] Current Thread [Next in Thread]