[Ipopt] Matlab interface crashes for limited memory Hessian

Thomas Vacek vacek008 at umn.edu
Fri Mar 11 19:26:26 EST 2011

This is a follow up on the Matlab interface problem when using the
Hessian approximation.  In short, my mex file has no dependency on mwlapack:

% ldd ipopt.mexa64
    linux-vdso.so.1 =>  (0x00007fff1ddff000)
    libipopt.so.1 =>
/home/it02/vacek008/Linux-x86_64/lib/coin/libipopt.so.1 (0x00007f1757d32000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f1757b07000)
    libcoinhsl.so.1 =>
    libgoto2.so => /home/it02/vacek008/Linux-x86_64/lib/libgoto2.so
    libmetis.so.1 => /home/it02/vacek008/Linux-x86_64/lib/libmetis.so.1
    libgfortran.so.3 => /soft/gcc-4.3/ubuntuamd1/lib64/libgfortran.so.3
    libgcc_s.so.1 => /soft/gcc-4.3/ubuntuamd1/lib64/libgcc_s.so.1
    libmx.so => not found
    libmex.so => not found
    libmat.so => not found
    libm.so.6 => /lib/libm.so.6 (0x00007f1756449000)
    libstdc++.so.6 => /soft/gcc-4.3/ubuntuamd1/lib64/libstdc++.so.6
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1756027000)
    libc.so.6 => /lib/libc.so.6 (0x00007f1755ca3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f17584c0000)

But yet a backtrace in GDB shows that the Lapack library being used is
actually mwlapack:

#0  0x00007fffeb99ed6d in dpotrf_ ()
#1  0x00007fffd92f0506 in Ipopt::IpLapackDpotrf (ndim=1, a=0x3e7aa90,
lda=1, info=@0x7fffe8781ed0) at IpLapack.cpp:76
#2  0x00007fffd92e5341 in Ipopt::DenseGenMatrix::ComputeCholeskyFactor
(this=0x3e7aa20, M=...) at IpDenseGenMatrix.cpp:156

I assume that the C wrappers are different, and hence the problem.  Does
anyone have other ideas?  How can I make Matlab use the Blas library
that the code is really linked to?  I'll ask about this on the Matlab
forum, too.


More information about the Ipopt mailing list