[Ipopt] Ipopt with statically linked MKL

Gregor Reich gregor.reich at uzh.ch
Sat Jun 8 14:51:36 EDT 2013


Dear Ipopt users

I'm trying to install Ipopt 3.11.0 using intel MKL11 for blas/lapack, STATICALLY linked, in conjunction with the Pardiso 4.1.2 solver, on Linux.

This combo works, with the MKL dynamically linked. However, if I configure with

./configure --with-blas="-Wl,--start-group  $MKLROOT/lib/intel64/libmkl_gf_lp64.a $MKLROOT/lib/intel64/libmkl_intel_thread.a $MKLROOT/lib/intel64/libmkl_core.a -Wl,--end-group -L$IOMPROOT -liomp5 -lpthread -lm" --with-lapack="-Wl,--start-group  $MKLROOT/lib/intel64/libmkl_gf_lp64.a $MKLROOT/lib/intel64/libmkl_intel_thread.a $MKLROOT/lib/intel64/libmkl_core.a -Wl,--end-group -L$IOMPROOT -liomp5 -lpthread -lm"

ipopt compiles smoothly (using either gcc 4.7.2 or 4.4.7), but when I try to compile a program containing a call to ipopt (eg. the example in $IPOPTDIR/build/Ipopt/examples/Cpp_example/), I get an error message telling me that the blas routines cannot be found:

/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dnrm2_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dpotrs_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `daxpy_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dcopy_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dsyrk_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dasum_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dsyev_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `ddot_'
/opt/ipopt/3.11.0_a/lib/libipopt.so: undefined reference to `dsymv_'
collect2: error: ld returned 1 exit status
make: *** [cpp_example] Fehler 1

Does anybody have an idea what went wrong?

Thanks and best regards, Gregor.


More information about the Ipopt mailing list