[Ipopt] Ipopt with statically linked MKL

Stefan Vigerske stefan at math.hu-berlin.de
Sun Jun 9 09:54:42 EDT 2013


Hi,

when doing static linking with gcc, the order of libraries on the 
command line is important.
Maybe there is somewhere a bug that leads having the mkl libs before the 
ipopt lib on the linker line. It's difficult to say without seeing the 
actual linker line.
You may also try configuring with --disable-pkg-config. That rules out 
one possible source for reordering of linker flags.

Hope that helps,
Stefan



On 06/08/2013 08:51 PM, Gregor Reich wrote:
> 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.
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list