help-octave
[Top][All Lists]
Advanced

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

RE: make check: src/DLD-FUNCTIONS/eigs.cc ..............................


From: RUSS BRENNAN
Subject: RE: make check: src/DLD-FUNCTIONS/eigs.cc .............................. ** On entry to DLASCL parameter number 4 had an illegal value
Date: Thu, 2 Sep 2010 13:25:32 -0500

I've been poking around this issue and I'm not convinced that I have the configure line correct, or perhaps the configure script is misbehaving.

I use the following line, as of now:

./configure --enable-shared --disable-static --with-blas='-Wl,--start-group -lmkl_intel -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread’  --with-lapack='-lmkl_lapack' --disable-extra-warning-flags F77=ifort FFLAGS="-O3 -xW" CC=icc CFLAGS="-O2 –gcc-version=410 -xW -mieee-fp -I/usr/local/include/" CXX=icpc CXXFLAGS="-w -O2 –gcc-version=4xx -xW -mieee-fp -I/usr/local/include/" CPP="icc -E" CPPFLAGS="-I/usr/local/include/" CXXPP="icpc -E" LDFLAGS="-L/usr/local/lib/ -L$MKLPATH" LIBS="-lmetis"

This results in configure not finding ARPACK because it thinks it has undefined symbols.

In order to resolve this, I have to do LIBS="-Wl,--start-group -lmkl_intel -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lmetis",
but I had already specified that whole mkl mess with the --with-blas= switch.  Shouldn't configure know to link the BLAS stuff in when doing the ARPACK check?





From: address@hidden
To: address@hidden
Subject: RE: make check: src/DLD-FUNCTIONS/eigs.cc .............................. ** On entry to DLASCL parameter number 4 had an illegal value
Date: Tue, 31 Aug 2010 15:26:50 -0500

Very astute observation!  That indeed solved the issue.  I have applied the graphics magick patch to resolve the imread error,  and now all test pass except 8 from the data.cc section. I'll paste the output from the first failure here.  I have tried compiling octave with -O2 as well as no optimization flag in case that was the issue, to no avail.

==========================
  ***** test
 rt2 = sqrt (2);
 rt3 = sqrt (3);
 v = single([0, pi/6, pi/4, pi/3, -pi/3, -pi/4, -pi/6, 0]);
 y = single([0, rt3, 1, rt3, -rt3, -1, -rt3, 0]);
 x = single([1, 3, 1, 1, 1, 1, 3, 1]);
 assert(atan2 (y, x), v, sqrt (eps('single')));
  ***** error <Invalid call to atan2.*> atan2 ();
  ***** error <Invalid call to atan2.*> atan2 (1, 2, 3);
  ***** assert (size (hypot (zeros (0, 2), zeros (0, 2))), [0, 2])
  ***** assert (size (hypot (rand (2, 3, 4), zeros (2, 3, 4))), [2, 3, 4])
  ***** assert (size (hypot (rand (2, 3, 4), 1)), [2, 3, 4])
  ***** assert (size (hypot (1, rand (2, 3, 4))), [2, 3, 4])
  ***** assert (size (hypot (1, 2)), [1, 1])
  ***** assert (hypot (1:10, 1:10), sqrt(2) * [1:10], 16*eps)
  ***** assert (hypot (single(1:10), single(1:10)), single(sqrt(2) * [1:10]));
  ***** assert(log2 ([1/4, 1/2, 1, 2, 4]), [-2, -1, 0, 1, 2]);
  ***** assert(log2(Inf), Inf);
  ***** assert(isnan(log2(NaN)));
  ***** assert(log2(4*i), 2 + log2(1*i));
  ***** assert(log2(complex(0,Inf)), Inf + log2(i));
!!!!! test failed
assert (log2 (complex (0, Inf)),Inf + log2 (i)) expected
Inf + 2.266i
but got
NaN - NaNi
NaNs don't matchoctave:2>

==========================

> Date: Tue, 31 Aug 2010 17:08:09 +0200
> Subject: Re: make check: src/DLD-FUNCTIONS/eigs.cc .............................. ** On entry to DLASCL parameter number 4 had an illegal value
> From: address@hidden
> To: address@hidden
> CC: address@hidden
>
> On Tue, Aug 31, 2010 at 4:29 PM, RUSS BRENNAN <address@hidden> wrote:
> > Ok, first let me note that compiling with --without-qrupdate bypasses this
> > error, as expected.
> >
> > Here is the output of test qr.cc verbose.  Note that there are a few errors,
> > as well as the seg fault near the end.
> >
> > If I go through the final test line by line, this is the command that seg
> > faults:
> >  [Q,R] = qrupdate(Q,R,single(uc),single(vc))
> >
> > The singles() calls alone are ok so it must be qrupdate that does it.  I am
> > using qrupdate v1.1.1, built from source using the following Makeconf:
> > ================================================================
> > # set this to your compiler's executable name (e.g. gfortran, g77)
> > FC=gfortran
> > # requested flags
> > FFLAGS=-O0 -funroll-loops
> > # set if you need shared library
> > FPICFLAGS=-fPIC
> >
>
> Hi Brennan,
>
> you reported earlier that you needed -ff2c to link MKL with
> gcc/gfortran, which means that your MKL uses the f2c/g77 convention
> interface. In that case, you almost surely need it here (for qrupdate)
> as well. Using -O0 should not be necessary. MKL usually comes with
> multiple interfaces; there should be one for gfortran convention as
> well.
>
> hth
>
> --
> RNDr. Jaroslav Hajek, PhD
> computing expert & GNU Octave developer
> Aeronautical Research and Test Institute (VZLU)
> Prague, Czech Republic
> url: www.highegg.matfyz.cz

> Date: Tue, 31 Aug 2010 17:08:09 +0200
> Subject: Re: make check: src/DLD-FUNCTIONS/eigs.cc .............................. ** On entry to DLASCL parameter number 4 had an illegal value
> From: address@hidden
> To: address@hidden
> CC: address@hidden
>
> On Tue, Aug 31, 2010 at 4:29 PM, RUSS BRENNAN <address@hidden> wrote:
> > Ok, first let me note that compiling with --without-qrupdate bypasses this
> > error, as expected.
> >
> > Here is the output of test qr.cc verbose.  Note that there are a few errors,
> > as well as the seg fault near the end.
> >
> > If I go through the final test line by line, this is the command that seg
> > faults:
> >  [Q,R] = qrupdate(Q,R,single(uc),single(vc))
> >
> > The singles() calls alone are ok so it must be qrupdate that does it.  I am
> > using qrupdate v1.1.1, built from source using the following Makeconf:
> > ================================================================
> > # set this to your compiler's executable name (e.g. gfortran, g77)
> > FC=gfortran
> > # requested flags
> > FFLAGS=-O0 -funroll-loops
> > # set if you need shared library
> > FPICFLAGS=-fPIC
> >
>
> Hi Brennan,
>
> you reported earlier that you needed -ff2c to link MKL with
> gcc/gfortran, which means that your MKL uses the f2c/g77 convention
> interface. In that case, you almost surely need it here (for qrupdate)
> as well. Using -O0 should not be necessary. MKL usually comes with
> multiple interfaces; there should be one for gfortran convention as
> well.
>
> hth
>
> --
> RNDr. Jaroslav Hajek, PhD
> computing expert & GNU Octave developer
> Aeronautical Research and Test Institute (VZLU)
> Prague, Czech Republic
> url: www.highegg.matfyz.cz

_______________________________________________ Help-octave mailing list address@hidden https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

reply via email to

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