[Ipopt] Ipopt terminates

Paul van Hoven paul.van.hoven at googlemail.com
Tue Mar 15 06:23:58 EDT 2011


I tried to recompile Ipopt with the option "-DFUNNY_LAPACK_FINT" turned 
on. But then the matlab interface won't compile. I get the following 
compiliation error:

/usr/site-local/bin/g++-4.2 -O3 -pipe -DNDEBUG -pedantic-errors 
-Wimplicit -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith 
-Wwrite-strings -Wconversion -Wno-unknown-pragmas -fPIC -fexceptions 
-Wl,/homes/numerik/hoven/Mex/Ipopt/lib/coin -Wl,--rpath 
-Wl,/homes/numerik/hoven/Mex/Ipopt/lib/coin/ThirdParty -pthread -shared 
-Wl,--no-undefined -o  "ipopt.mexa64"   "matlabexception.o"  
"matlabfunctionhandle.o"  "matlabjournal.o"  "iterate.o"  
"ipoptoptions.o"  "options.o"  "sparsematrix.o"  "callbackfunctions.o"  
"matlabinfo.o"  "matlabprogram.o"  "ipopt.o"  
-L/lib/../lib64 -L/usr/lib/../lib64 
-lipopt -llapack -lblas -ldl -lcoinhsl -lgfortranbegin -lgfortran -lm 
-lgcc_s -Wl,-rpath-link,/net/matlab/Matlab2009b/bin/glnxa64 
-L/net/matlab/Matlab2009b/bin/glnxa64 -lmx -lmex -lmat -lm

/usr/bin/ld: /usr/lib/../lib64/libblas.a(isamax.o): relocation 
R_X86_64_32 against `a local symbol' can not be used when making a 
shared object; recompile with -fPIC
/usr/lib/../lib64/libblas.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

    mex: link of ' "ipopt.mexa64"' failed.

make: *** [ipopt.mexa64] Error 1

Why does that happen now?


Andreas Waechter schrieb:
> Hi
> Well, it might also just be a problem with Lapack and matlab and 64bit 
> and funny integer types.  The error message is from LAPACK, and given 
> that the signature is
>            CHARACTER      UPLO
>            INTEGER        INFO, LDA, N
>            DOUBLE         PRECISION A( LDA, * )
> and therefore LDA seems to have an illegal value, it might be that 
> Fortran and C integer types do not match.
> This might be related to a recent discussion on the Ipopt mailing list:
> http://list.coin-or.org/pipermail/ipopt/2011-March/002376.html
> And I have also seen a similar problem in a different context (not 
> with matlab but also related to different integer types).  For this 
> specific case, I added some code in Ipopt/src/LinAlg/IpLapack.cpp 
> (look for the macro FUNNY_LAPACK_FINT).  I suggest you try to activate 
> this code by configuring with
> and recompiling everything (after 'make clean').  Not sure if that 
> will help, but it might be worth a try...
> Andreas
> On Mon, 14 Mar 2011, Stefan Vigerske wrote:
>> Hi,
>> it probably means that the jacobian or hessian contains values like nan
>> or inf, which may be a result from a nondifferentiability of one of your
>> functions in the current point.
>> There is the Ipopt option check_derivatives_for_naninf
>> http://www.coin-or.org/Ipopt/documentation/node89.html
>> which may help to verify this.
>> Stefan
>>> I'm using ipopt with the matlab interface. So far everything went fine
>>> and I had no problems. But now I have a problem, that can be solve with
>>> matlab's fmincon but not with ipopt. When I run the problem with 
>>> ipopt I
>>> get the following error message
>>>  ** On entry to DPOTRF parameter number  4 had an illegal value
>>> I do not understand what this means.
>>> Paul
>>> _______________________________________________
>>> Ipopt mailing list
>>> Ipopt at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/ipopt
>> -- 
>> Stefan Vigerske
>> Humboldt University Berlin, Numerical Mathematics
>> http://www.math.hu-berlin.de/~stefan
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list