[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SLATEC error: Chebyshev series too short for specified accuracy
From: |
Jarno Rajahalme |
Subject: |
Re: SLATEC error: Chebyshev series too short for specified accuracy |
Date: |
Tue, 1 Mar 2011 19:58:04 +0200 |
On Mar 1, 2011, at 18:12 , ext Camillo wrote:
> On 27/feb/2011, at 11.29, Jarno Rajahalme wrote:
>
>> On Feb 25, 2011, at 3:30 , ext Ben Abbott wrote:
>>
>>> On Feb 24, 2011, at 7:57 PM, Camillo wrote:
>>>
>>>> Hello,
>>>>
>>>> I am working on a Mac build of Octave 3.4.0. It's almost complete: it
>>>> passes 6908 tests, has 2 known failures, and 5 unexpected ones. Four of
>>>> these five are due to the same issue, an exception inside SLATEC:
>>>> "Chebyshev series too short for specified accuracy". I don't know Fortran
>>>> and I'm not sure how to best debug the issue. The compilers I am using are
>>>> gcc and gfortran 4.2.1.
>>>>
>>>> I first posted this question on the general mailing list, where Ben Abbot
>>>> asked for more information, so here it is:
>>>>
>>>>> Where did you get your gfortran?
>>>>
>>>> http://r.research.att.com/gfortran-42-5664.pkg
>>>>
>>>>> What dependencies did you install?
>>>>
>>>> All, except for gnuplot and ghostscript.
>>>>
>>>>> What was the result of running ./configure? (it gives a summary at the
>>>>> end)
>>>>>
>>>>> Finally, please copy-n-paste the actual error.
>>>>
>>>> I'll attach the configure summary, and here are the insteresting parts of
>>>> the output of "make check":
>>>>
>>>> --------------------------------------------------------------------------------
>>>> src/DLD-FUNCTIONS/besselj.cc ........................... PASS 180/180
>>>> src/DLD-FUNCTIONS/betainc.cc ........................... ***MESSAGE FROM
>>>> ROUTINE INITS IN LIBRARY SLATEC.
>>>> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
>>>> * Chebyshev series too short for specified accuracy
>>>> * ERROR NUMBER = 1
>>>> *
>>>> ***END OF MESSAGE
>>>>
>>>> ***JOB ABORT DUE TO UNRECOVERED ERROR.
>>>> 0 ERROR MESSAGE SUMMARY
>>>> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
>>>> SLATEC INITS Chebyshev series too 1 1 1
>>>>
>>>> ***MESSAGE FROM ROUTINE INITS IN LIBRARY SLATEC.
>>>> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
>>>> * Chebyshev series too short for specified accuracy
>>>> * ERROR NUMBER = 1
>>>> *
>>>> ***END OF MESSAGE
>>>>
>>>> ***JOB ABORT DUE TO UNRECOVERED ERROR.
>>>> 0 ERROR MESSAGE SUMMARY
>>>> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
>>>> SLATEC INITS Chebyshev series too 1 1 2
>>>>
>>>> PASS 4/6 FAIL 2
>>>>
>>>> ...
>>>>
>>>> src/DLD-FUNCTIONS/gammainc.cc .......................... ***MESSAGE FROM
>>>> ROUTINE INITS IN LIBRARY SLATEC.
>>>> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
>>>> * Chebyshev series too short for specified accuracy
>>>> * ERROR NUMBER = 1
>>>> *
>>>> ***END OF MESSAGE
>>>>
>>>> ***JOB ABORT DUE TO UNRECOVERED ERROR.
>>>> 0 ERROR MESSAGE SUMMARY
>>>> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
>>>> SLATEC INITS Chebyshev series too 1 1 3
>>>>
>>>> ***MESSAGE FROM ROUTINE INITS IN LIBRARY SLATEC.
>>>> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
>>>> * Chebyshev series too short for specified accuracy
>>>> * ERROR NUMBER = 1
>>>> *
>>>> ***END OF MESSAGE
>>>>
>>>> ***JOB ABORT DUE TO UNRECOVERED ERROR.
>>>> 0 ERROR MESSAGE SUMMARY
>>>> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
>>>> SLATEC INITS Chebyshev series too 1 1 4
>>>>
>>>> PASS 2/4 FAIL 2
>>>> --------------------------------------------------------------------------------
>>>>
>>>> This is the information about the fifth error from fntests.log:
>>>>
>>>> --------------------------------------------------------------------------------
>>>>>>>>> processing
>>>>>>>>> /private/tmp/homebrew-octave-3.4.0-kEbx/octave-3.4.0/src/mappers.cc
>>>> ***** assert(arg (single(-1)), single(pi));
>>>> !!!!! test failed
>>>> assert (arg (single (-1)),single (pi)) expected
>>>> 3.1416
>>>> but got
>>>> 3.1416
>>>> values do not match
>>>> --------------------------------------------------------------------------------
>>>>
>>>> I know about the problem with Apple's BLAS and gfortran, and I am using a
>>>> small wrapper library for the affected routines (as suggested in
>>>> <http://developer.apple.com/hardwaredrivers/ve/errata.html#fortran_conventions>);
>>>> this is the "dotwrp" library you can see in the configure summary. I was
>>>> told that a different wrapper has been proposed on this list, replacing
>>>> some functions from LAPACK as well; I was wondering if anybody has a
>>>> simple test case for some of those functions, so I could quickly check if
>>>> the library I'm using is sufficient.
>>>>
>>>> Best regards,
>>>> Camillo Lugaresi
>>>>
>>>> <configure summary>
>>>
>>> I am also using 4.2.1 and the gfortran from AT&T.
>>>
>>> Iv'e compiled for 32bit and do not see the SLATEC problem.
>>>
>>> Jarno / Richard, might this be related to the 64bit vecLib problem?
>>>
>>
>> I recall seeing similar error messages in the past. I recommend trying with
>> the patch at http://savannah.gnu.org/patch/index.php?7468.
>>
>> That patch provider gfortran native calling convention stubs for Apple BLAS
>> and LAPACK calls. However, it does not otherwise replace any LAPACK
>> routines.
>>
>> Jarno
>
> I tried applying that patch. Rather than fighting with autotools (OS X comes
> with an older version than needed), I edited the configuration manually, but
> I think I got it to work. However, when I run "make check", I get this:
>
> --------------------------------------------------------------------------------
> Integrated test scripts:
>
> src/DLD-FUNCTIONS/besselj.cc ........................... PASS 180/180
> src/DLD-FUNCTIONS/betainc.cc ........................... ***MESSAGE FROM
> ROUTINE INITS IN LIBRARY SLATEC.
> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
> * Chebyshev series too short for specified accuracy
> * ERROR NUMBER = 1
> *
> ***END OF MESSAGE
>
> ***JOB ABORT DUE TO UNRECOVERED ERROR.
> 0 ERROR MESSAGE SUMMARY
> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
> SLATEC INITS Chebyshev series too 1 1 1
>
> ***MESSAGE FROM ROUTINE INITS IN LIBRARY SLATEC.
> ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
> * Chebyshev series too short for specified accuracy
> * ERROR NUMBER = 1
> *
> ***END OF MESSAGE
>
> ***JOB ABORT DUE TO UNRECOVERED ERROR.
> 0 ERROR MESSAGE SUMMARY
> LIBRARY SUBROUTINE MESSAGE START NERR LEVEL COUNT
> SLATEC INITS Chebyshev series too 1 1 2
>
> PASS 4/6 FAIL 2
> src/DLD-FUNCTIONS/bsxfun.cc ............................ PASS 72/72
> src/DLD-FUNCTIONS/cellfun.cc ........................... PASS 77/77
> src/DLD-FUNCTIONS/chol.cc .............................. PASS 26/26
> src/DLD-FUNCTIONS/conv2.cc ............................. PASS 4/4
> src/DLD-FUNCTIONS/convhulln.cc ......................... PASS 2/2
> src/DLD-FUNCTIONS/dassl.cc ............................. PASS 4/4
> src/DLD-FUNCTIONS/det.cc ............................... PASS 5/5
> src/DLD-FUNCTIONS/dlmread.cc ........................... PASS 20/20
> src/DLD-FUNCTIONS/dmperm.cc ............................ PASS 5/5
> src/DLD-FUNCTIONS/eig.cc ............................... PASS 20/20
> src/DLD-FUNCTIONS/eigs.cc ..............................panic: Segmentation
> fault -- stopping myself...
> make[2]: *** [check] Segmentation fault
> make[1]: *** [check-recursive] Error 1
> make: *** [check] Error 2
> --------------------------------------------------------------------------------
>
> What output do you get for "make check"?
>
I get only one FAIL on mappers, which is known and due to how Apple implements
atan2f.
Did you note that with the BLAS wrapper you should NOT use -ff2c for Octave nor
any dependencies (all fortran libraries).
Jarno