[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SLATEC error: Chebyshev series too short for specified accuracy
From: |
Camillo |
Subject: |
Re: SLATEC error: Chebyshev series too short for specified accuracy |
Date: |
Tue, 1 Mar 2011 19:47:41 +0100 |
On 01/mar/2011, at 18.58, Jarno Rajahalme wrote:
>
> 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
Yes, I am not using -ff2c. But I remember now that I had compiled qrupdate with
my BLAS workaround instead of yours, so there may be a conflict there. Or
perhaps I simply made a mistake in editing the configuration by hand. I'll try
to set up all the necessary tools to bootstrap a development snapshot when I
have time (unless someone wants to provide a tarball with the patch applied and
configure regenerated).
CL