inv.cc-tst failure, GCC compilation linked to MKL

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

inv.cc-tst failure, GCC compilation linked to MKL

Erik Spence

Dear Octave Gurus,

I'm trying to install Octave from source on a Centos 7 system. I'm
compiling using GCC 7.3.0, and linking to MKL 2018.2.


cflags="-O2 -march=native"
cppflags=$cflags

./configure \
     CFLAGS="$cflags" CXXFLAGS="$cppflags" F77=gfortran \
     --prefix="$prefix" \
     --enable-openmp \
     --with-hdf5-includedir="${SCINET_HDF5_ROOT}/include" \
     --with-hdf5-libdir="${SCINET_HDF5_ROOT}/lib" \
     --with-fftw3-includedir="${SCINET_FFTW_ROOT}/include" \
     --with-fftw3-libdir="${SCINET_FFTW_ROOT}/lib" \
     --with-blas="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp
-lpthread -lm -ldl" \
     --with-lapack="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp
-lpthread -lm -ldl" \
     --with-java-homedir="${JAVA_HOME}" \
     --with-java-includedir="${JAVA_HOME}/include" \
     --with-java-libdir="${JAVA_HOME}/lib" \
     --enable-fortran-calling-convention="gfortran" \
     --enable-64


The compilation itself claims to work successfully.  But "make check"
fails at the inv.cc-tst step, with an "free(): invalid next size (fast)"
error:

.
.
.
   libinterp/corefcn/hex2num.cc-tst ............................
PASS      7/7
   libinterp/corefcn/input.cc-tst ..............................
PASS     20/20
   libinterp/corefcn/inv.cc-tst ................................***
Error in
`/home/s/scinet/ejspence/temp3/octave-4.2.2/src/.libs/lt-octave-cli':
free(): invalid next size (fast): 0x00000000015e1900 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7c619)[0x7fe477e00619]
/home/s/scinet/ejspence/temp3/octave-4.2.2/libinterp/.libs/liboctinterp.so.4(_ZN5ArrayIdED1Ev+0x39)[0x7fe47a34f489]
/home/s/scinet/ejspence/temp3/octave-4.2.2/liboctave/.libs/liboctave.so.4(_ZNK6Matrix8finverseER10MatrixTypeRlRdbb+0x404)[0x7fe47930a344]
/home/s/scinet/ejspence/temp3/octave-4.2.2/liboctave/.libs/liboctave.so.4(_ZNK6Matrix7inverseER10MatrixTypeRlRdbb+0xdd)[0x7fe47930a87d]
/home/s/scinet/ejspence/temp3/octave-4.2.2/libinterp/.libs/liboctinterp.so.4(_Z4FinvRK17octave_value_listi+0xe44)[0x7fe47ab8a484]
.
.
.


I've been trying to find a cause of the error, but without success.  Any
suggestions you might have would be welcome.

Sincerely,
Erik Spence


Reply | Threaded
Open this post in threaded view
|

Re: inv.cc-tst failure, GCC compilation linked to MKL

Mike Miller-4
On Thu, Apr 12, 2018 at 17:10:11 -0400, Erik Spence wrote:
> The compilation itself claims to work successfully.  But "make check" fails
> at the inv.cc-tst step, with an "free(): invalid next size (fast)" error:

This looks a lot like the following two bug reports

  https://savannah.gnu.org/bugs/?49235
  https://savannah.gnu.org/bugs/?53553

If so, Octave 4.4 should solve this problem for you, or you can backport
the fix mentioned in them to your build of 4.2.

--
mike



signature.asc (849 bytes) Download Attachment