[Ipopt-tickets] [Ipopt] #239: Configuration issue when linking Intel MKL BLAS on 64-bit Windows 7 & Cygwin

Ipopt coin-trac at coin-or.org
Fri Jul 11 18:38:14 EDT 2014


#239: Configuration issue when linking Intel MKL BLAS on 64-bit Windows 7 &
Cygwin
-------------------+------------------------
Reporter:  aero1   |      Owner:  ipopt-team
    Type:  defect  |     Status:  new
Priority:  normal  |  Component:  Ipopt
 Version:  3.11    |   Severity:  normal
Keywords:          |
-------------------+------------------------
 Hello,

 I'm trying to get IPOPT compiled with Intel's MKL distribution, in order
 to get the best speed out of it. I've followed the installation manual
 provided with IPOPT very closely, although I've found it a little unclear
 on how exactly to link to existing BLAS libraries for readers who don't
 typically do such a thing. I've done the best I could based on web
 searches, and I run the configuration script as follows:

 {{{
 ../configure ADD_FFLAGS=-fopenmp --with-
 blas="C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_lp64_dll.lib
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib"
 }}}

 The configuration of METIS goes well, but then when HSL is being
 configured I get the following command line error:

 {{{
 checking whether user supplied
 BLASLIB="C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_lp64_dll.lib
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib"
 works... no
 configure: error: user supplied BLAS library
 "C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_lp64_dll.lib
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib" does
 not work
 configure: error: /bin/sh '../../../ThirdParty/HSL/configure' failed for
 ThirdParty/HSL
 }}}

 Inspecting the config.log file in the HSL folder tells me the following:

 {{{
 configure:22270: checking whether user supplied
 BLASLIB="C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_lp64_dll.lib
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib" works
 configure:22452: gcc -o conftest.exe -O3 -pipe -DNDEBUG -pedantic-errors
 -Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall
 -Wno-unknown-pragmas -Wno-long-long   -DCOINHSL_BUILD   conftest.c
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_lp64_dll.lib
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib
 -L/usr/lib/gcc/x86_64-pc-cygwin/4.8.3 -L/usr/lib/gcc/x86_64-pc-
 cygwin/4.8.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib
 -L/usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../.. -lgfortran -lgomp
 -lquadmath -lm -ladvapi32 -lshell32 -luser32 -lkernel32 >&5
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib(mkl_intel_thread.dll.b):(.text+0x2):
 relocation truncated to fit: R_X86_64_32 against symbol
 `__imp_mkl_blas_daxpy' defined in .idata$5 section in
 C:/Progra~2/Intel/Compos~1/mkl/lib/intel64/mkl_intel_thread_dll.lib(mkl_intel_thread.dll.b)
 collect2: error: ld returned 1 exit status
 }}}

 I've also attached the corresponding config.log file, if it's of use.

 I've read up on what this error indicates, but I'm afraid my limited
 knowledge of how compilers operate is failing me at this point. I've tried
 running the configure script with the -mcmodel=medium option provided in
 the -with-blas argument, in an attempt to pass this to the gcc compiler.
 It appears to be passed to gcc just fine, but it doesn't have any effect
 on the error.

 I am well aware that this could be a fairly simple issue, but with my
 limited knowledge on these things, I am personally stuck at this point. I
 would greatly appreciate any help you could provide for me to get past
 this error. I should point out I am not overly set on using MKL
 specifically, although I would like to be using an optimized BLAS library.

 Thank you for any assistance!

 PS. I should also point out that I am not certain which library files to
 even be linking to, or how to find out. I have just been running the
 script, seeing what references were missing, searching for those names,
 and then adding the corresponding MKL file. That only got me two files in
 before this error started appearing, though. Any advice on how to deal
 with this more elegantly and just find the correct files right off the bat
 would be greatly appreciated as a bonus!

--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/239>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.



More information about the Ipopt-tickets mailing list