i386-apple-darwin9 failures

Ben Abbott bpabbott at mac.com
Sat Dec 8 12:59:43 CST 2007


On Dec 8, 2007, at 11:44 AM, Ben Abbott wrote:
>
> On Dec 8, 2007, at 1:20 AM, Jack Howarth wrote:
>
>> John,
>>   With qhull installed, the octave 2.9.18 build on
>> powerpc-apple-darwin9 against only gcc 4.2.2 compilers
>> is reduced to a single failure...
>>
>>>>>>> processing test_signal
>>  ***** test
>> N=32;
>> x = (0:1:N-1)/N + 2;
>> y = detrend(x);
>> assert(all (all (abs (y) < 10*eps)));
>> !!!!! test failed
>> error: assert (all (all (abs (y) < 10 * eps))) failed
>>
>> Any ideas on how to debug that?
>>               Jack
>
> Jack,
>
> The detrend function is a m-file script. It should be rather easy to
> debug.
>
> What are your values for "y" and "eps"?
>
> Ben
>


I've built 2.9.18 with jwe's patch regarding tm_zone on my ppc  
running MacOSX 10.4 (Tiger) and encounter the same error as Jack. The  
details for my build are below. All dependencies are installed using  
the Fink package manager.

./autogen
[...]
./configure '--prefix=/sw'  '--infodir=${prefix}/share/info' '-- 
mandir=${prefix}/share/man' '--libexecdir=${prefix}/lib' 'CFLAGS=-O0 - 
g -ggdb3' 'LDFLAGS=-L/sw/lib' 'CPPFLAGS=-I/sw/include' 'CXXFLAGS=-O0 - 
g -ggdb3' 'F77=/sw/bin/g95' 'FFLAGS=-O0'
[...]
checking for strptime... yes
[...]
checking whether strptime is broken... yes
[...]
configure: running /bin/sh ./configure --prefix=/sw  '--infodir=$ 
{prefix}/share/info' '--mandir=${prefix}/share/man' '--libexecdir=$ 
{prefix}/lib' 'CFLAGS=-O0 -g -ggdb3' 'LDFLAGS=-L/sw/lib' 'CPPFLAGS=-I/ 
sw/include' 'CXXFLAGS=-O0 -g -ggdb3' 'F77=/sw/bin/g95' 'FFLAGS=-O0' -- 
cache-file=/dev/null --srcdir=.
[...]
Octave is now configured for powerpc-apple-darwin8.11.0

   Source directory:     .
   Installation prefix:  /sw
   C compiler:           gcc   -Wall -W -Wshadow -O0 -g -ggdb3
   C++ compiler:         g++   -Wall -W -Wshadow -Wold-style-cast -O0  
-g -ggdb3
   Fortran compiler:     /sw/bin/g95 -O0
   Fortran libraries:     -L/sw/lib -L/sw/bin/../lib/gcc-lib/powerpc- 
apple-darwin8/4.0.3/ -L/sw/bin/../lib/gcc-lib/powerpc-apple- 
darwin8/4.0.3 -L/sw/lib/gcc-lib/powerpc-apple-darwin8/4.0.3/ -L/usr/ 
lib/gcc// -L/sw/bin/../lib/gcc-lib/powerpc-apple-darwin8/4.0.3/// -L/ 
sw/lib/gcc-lib/powerpc-apple-darwin8/4.0.3/// -L/usr/lib// -lhdf5 -lz  
-lf95 -lm -lgcc_eh -lSystemStubs -lmx -lSystem
   BLAS libraries:        -Wl,-framework -Wl,vecLib
   FFTW libraries:       -lfftw3
   GLPK libraries:       -lglpk
   UMFPACK libraries:    -lumfpack
   AMD libraries:        -lamd
   CAMD libraries:       -lcamd
   COLAMD libraries:     -lcolamd
   CCOLAMD libraries:    -lccolamd
   CHOLMOD libraries:    -lcholmod
   CXSPARSE libraries:   -lcxsparse
   HDF5 libraries:       -lhdf5
   CURL libraries:       -lcurl
   REGEX libraries:      -L/sw/lib -lpcre
   QHULL libraries:      -lqhull
   LIBS:                 -lreadline  -lncurses -lhdf5 -lz -lm
   Default pager:        less
   gnuplot:              gnuplot

   Do internal array bounds checking:  false
   Build static libraries:             false
   Build shared libraries:             true
   Dynamic Linking:                    true (dyld)
   Include support for GNU readline:   true
   64-bit array dims and indexing:     false
[...]
make
[...]
make check
[...]
test_signal.m .......................................... PASS     
7/8    FAIL 1
[...]
Summary:
   PASS   3769
   FAIL      1

from ./test/fntests.log
---------------------------------
 >>>>> processing test_signal
   ***** test
  N=32;
  x = (0:1:N-1)/N + 2;
  y = detrend(x);
  assert(all (all (abs (y) <= 10*eps)));
!!!!! test failed
error: assert (all (all (abs (y) <= 10 * eps))) failed
---------------------------------

Checking "y" and "10*eps"

	max(y)
	ans =  2.2204e-15

	octave:4> 10*eps
	ans =  2.2204e-15

Replacing "<" with "<=" works, i.e.

	assert(all (all (abs (y) <= 10*eps)));

On my Intel based Mac running 10.5 each element of y = 8.8818e-16

For my ppc based Mac running 10.4 the elements of y are varied and  
increase monotonically

octave:11> y'
ans =

    2.2204e-16
    4.4409e-16
    4.4409e-16
    4.4409e-16
    4.4409e-16
    4.4409e-16
    4.4409e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    8.8818e-16
    1.3323e-15
    1.3323e-15
    1.3323e-15
    1.3323e-15
    1.3323e-15
    1.3323e-15
    1.3323e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    1.7764e-15
    2.2204e-15
    2.2204e-15

Thoughts? ... is there reason for concern?

If there is no reason to suspect a deeper problem, we might modify  
the inequality to use ">=", or the tolerance of 10*eps to something  
like N*eps.

Jack, can you confirm these solutions would work in your case as well?

Ben


More information about the Bug-octave mailing list