Hi, can someone tell me what path should exist to the dlls at configure time to use the ia32 version of pardiso on windows.
I am trying to build ipopt using a bash shell but using the Microsoft C++ compiler and ifort from intel. Before opening the bash shell, I set the paths via:
C:\WINDOWS\system32>call "c:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\bin\ifortvars.bat" ia32 vs2015
then start the bash shell, move to the build directory, and do the usual, which is something like:
../Ipopt-source/configure --enable-msvc CC=cl CXX=cl ADD_FFLAGS='-O3 -xHost -ipo' ADD_LDFLAGS='-LIBPATH:"$MKLROOT/lib/ia32/" mkl_intel_c_dll.lib mkl_sequential_dll.lib mkl_core_dll.lib'
However, this always starts pardiso because the mkl supports it, but then always fails to run it and the build falls over. My guess is that it is using the pardiso at build time - but cannot find the dlls. PS Not sure the explicit mention of the mkl is necessary.
Which dlls are required if I am doing the 32 bit, and where is their path - is it included by the ifortvars.bat?
"However, this always starts pardiso because the mkl supports it..." -- I cannot understand this statement. Pardiso is just a routine within the MKL library, just as DDOT, LSAME, etc., are. What's to "start" and "support"?
If the Configure script is building a test EXE that calls Pardiso, yes it is necessary to load the MKL DLLs for that EXE to run. However, if you are building from a properly configured CMD window, the necessary MKL directories should be already part of the INCLUDE, LIB and PATH environment variables. You can check that you can build and run a toy MKL program and, only if that works, you may move on to running the Configure script.