[Ipopt] Binaries for Windows

Damien Hocking damien at khubla.com
Fri Mar 6 12:23:23 EST 2009

I'd like to second Jesse's comments.  Autotools and Visual Studio projects are pretty wretched even on a good day and there are solutions out there that provide cross-platform support in one build system.  Jesse has a CMake build of IPOPT and I've have one that uses SCons that builds MUMPS and the PyIPOPT wrapper as well.  A lot of the COIN-OR software is interdependent and it needs a consistent build system.  It's fair enough that COIN-OR is Linux-oriented and uses Autotools, we get a lot of high-quality software for free.  I don't consider Cygwin or MSYS to be serious for Windows platforms (dons asbestos shirt...) for the same reasons as Jesse; they don't play nicely with the industrial-strength dev platforms for that operating system.

If we were to volunteer to support people with our alternatives, are they something that could be distributed with IPOPT, or should we just post our build systems to this list and/or host them on our own websites?


From: Jesse Perla [mailto:jesseperla at gmail.com]
To: COIN-IPOPT Mailing List [mailto:ipopt at list.coin-or.org]
Cc: Andreas Waechter [mailto:andreasw at watson.ibm.com]
Sent: Fri, 06 Mar 2009 09:07:26 -0700
Subject: Re: [Ipopt] Binaries for Windows

> We have no intention to change the build system. What we have now is
  > based on autotools and has been working pretty well on most platforms,
  > including Windows via Cygwin or MSys. The Ipopt configure and build
  > system is also aligned with the rest of COIN; making any change here
  > has mayor painful consequences ;-)
I second that -- I use Mingw/MSYS on Windows and consider support for
  that platform as well as MinGW GCC to be a 'must-have' in IPOPT.

Sorry everyone, I didn't mean to audaciously suggest that everything should move to CMake and that Mingw/MSYS shouldn't be supported.  All I meant was that it was very easy to port to CMake and  that you get everything for free after that.  And since IPOPT is distributing a set of "Visual Studio" projects, and what I meant to suggest was that CMake was a good alternative to this Visual Studio distribution.  It is easily decouple library dependencies, easier to write/maintain, and you get a build on any other platform for free.  Anytime I have mentioned variations on windows binaries for debug, etc., the answer has been that it is a pain in the ass.  Which it is... but with CMake, it would be a few simple batch file to generate every permutation of windows binaries.  

With that said, I think people in the linux world tend to overestimate the value of mingw/msys for libraries.  It is certainly necessary, but the binary incompatibility with Intel/MSVC makes it almost useless for a lot of applications with libraries. Cygwin/msys builds tend to force you to recompile everything on your own which makes concurrent integration with other libraries than IPOPT tough.  I received a number of personal emails after my last post, so believe me when I say there is a lot of demand for native windows.  

I am over-committed on work right now, but I will post up CMake files and notes as soon as I get a chance.  In the meantime, contact me at will: jesse.perla at nyu.edu and if anyone is interested in using MUMPS, they could try out: http://sourceforge.net/projects/winmumps/  

May we one day be free from the shackles of autohell and those godawful visual studio project files.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20090306/0794df18/attachment.html 

More information about the Ipopt mailing list