[Ipopt] lapack

Andreas Waechter andreasw at watson.ibm.com
Sun Jun 1 13:51:47 EDT 2008

Hi Matt,

Ipopt is using Coin's ThirdParty/Lapack "project" to compile Lapack files 
if they are not already found on the system or a user doesn't provide an 
LAPACK library.

This ThirsParty/Lapack project compiles only a small subset of the Lapack 
routines, namely those that are required by COIN projects (at this point, 
Ipopt and Clp/CoinUtils).  So, you will have to compile your own Lapack if 
you want to use more than what COIN already has included.

As for the missing symbols errors in xerbla.o, those will be resolved if 
you include the gfortran runtime library, -lgfortran (or so).

If you anticipate to deal with relatively large dense matrices and a lot 
of your running time goes there, you would be better off anyway to use an 
optimized BLAS library.  I have used Atlas (see 
http://math-atlas.sourceforge.net/), and there is an option to compile it 
so that also all Lapack routines (and not just the ones implemented in 
Atlas) are avaiable.

Hope this helps,


On Sat, 31 May 2008, Matthew Galati wrote:

> Hi - I have an application that requires some lapack functions. I was hoping to use the build process that IpOpt provides.
> Is the lapack/blas in Ipopt a subset of all of lapack? I am getting some undefined refs when using the build provided by IpOpt. Is there any easy way to add to the build setup to define other functions from blas/lapack?
> Thanks,
> Matt
> ../ExternalSolvers/MaxClique/Qualex/libQualex.a(eigen.o): In function `symmetric_eigen':
> eigen.c:(.text+0x175): undefined reference to `dsyevr_'
> eigen.c:(.text+0x27d): undefined reference to `dsyevr_'
> /home/magala/COIN/coin-Ipopt/ThirdParty/Blas/.libs/libcoinblas.a(xerbla.o): In function `xerbla_':
> xerbla.f:(.text+0x57): undefined reference to `_gfortran_st_write'
> xerbla.f:(.text+0x67): undefined reference to `_gfortran_transfer_character'
> xerbla.f:(.text+0x77): undefined reference to `_gfortran_transfer_integer'
> xerbla.f:(.text+0x7f): undefined reference to `_gfortran_st_write_done'
> xerbla.f:(.text+0x89): undefined reference to `_gfortran_stop_numeric'
> collect2: ld returned 1 exit status
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list