[Ipopt] Status of precompiled binaries on project homepage

Tony Kelman kelman at berkeley.edu
Mon Mar 3 18:19:51 EST 2014

Status of precompiled binaries on project homepageHi Jochen,

That error is from here https://projects.coin-or.org/Ipopt/browser/trunk/Ipopt/src/contrib/LinearSolverLoader/LibraryHandler.c#L34
because the define ERROR_LOADLIB was set. That define was set here
because the defines HAVE_WINDOWS_H and HAVE_DLFCN_H were not set.

When building Ipopt manually or from project files in MSVC, most of these defines have to be set by hand and apparently a few of them are missing in the recent download. Running Ipopt’s configure script would have set these for you, but that needs Cygwin or MSYS on Windows. If you check include/coin/config_ipopt.h, you can see the 3.9.2 version looks more like a full configure-generated header with all the defines, but in the 3.11.0 version it is much shorter.

Making an MSVC DLL with the autotools (so running configure in Cygwin or MSYS, but telling it to use MSVC as the compiler) is a goal we’re slowly working on - there’s a lot of discussion on the prerequisite of updating the autotools for all COIN-OR projects here https://projects.coin-or.org/BuildTools/ticket/95 but it’s a big task and progress has been slow the last few months.

What are you trying to do with the Ipopt dll? If you’re trying to just use the plain C interface, I could compile and post a Windows dll using MinGW (this was made simpler to do in 3.11.7) but it will depend on the GCC runtime libraries, and the import libraries are generated in a different form by MinGW than MSVC (.dll.a instead of .lib). I don’t have Intel Fortran or experience using the Visual Studio project files, but maybe someone else could help there.


From: Steimel, Jochen 
Sent: Monday, March 03, 2014 12:00 PM
To: ipopt at list.coin-or.org 
Subject: [Ipopt] Status of precompiled binaries on project homepage

Dear all,

i want to gather some information regarding the state of the precompiled binaries. The following files can be found on the webpage

[ ]Ipopt-3.11.1-mac-osx-x86_64-gcc4.5.3.tgz     15-Jun-2013 08:42       4.5M    
[ ]Ipopt-3.11.1-win32-cl16ifort13.1.zip         15-Jun-2013 08:42       8.1M    
[ ]Ipopt-3.11.1-win64-intel13.1.zip             15-Jun-2013 08:42       9.9M    
[ ]Ipopt-3.11.3-win32win64-matlabmexfiles.zip   30-Aug-2013 18:05       3.6M    

There are some problems with these files for me. None of these files contain a ipopt.dll to which i can dynamically link. When i download the following file

[ ]Ipopt-3.11.0-Win32-Win64-dll.7z      24-May-2013 14:49       7.0M    

extract it, and use lib\Win32\ReleaseMKL\ipopt-vc10.dll in my project i get the following error, when specifying linear_solver="ma57" (with MUMPS everything works fine):

Exception of type: OPTION_INVALID in file "..\..\..\src\Algorithm\IpAlgBuilder.c
pp" at line 343:
Exception message: Selected linear solver MA57 not available.
Tried to obtain MA57 from shared library "libhsl..dll", but the following error
loadLib error: Do not know how to handle shared libraries on this operating syst

When i download this file, everything works fine (MUMPS and MA57):
[ ]Ipopt-3.9.2-win32-win64-dll.7z       19-Sep-2011 20:02       7.2M    

Can anybody tell me what happened during releases?
Why was the version 3.11.0 build without support for the dynamic library loader?
Why is the ipopt*.dll file not included in the newer releases?
When is the next binary release scheduled and could this again included a .dll for Windows systems?

I would be really grateful to receive some insight on this problems. Right now everything works fine with IPOPT 3.9.2, but i would like to use the newer version with the HSL routines. I would also be very thankful for a compiled binary for windows of IPOPT 3.11.0 or above.

Jochen Steimel

Ipopt mailing list
Ipopt at list.coin-or.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20140303/9df28440/attachment.html>

More information about the Ipopt mailing list