[Coin-ipopt] MUMPS 'independent' package for use with IPOPT

Andreas Waechter andreasw at watson.ibm.com
Sun Nov 25 14:22:49 EST 2007


Hi John,

There is a configure script in the ThirdParty/MUMPS directory, but it 
doesn't do anything special, except for preparing our own Makefile to 
compile the (unmodified) MUMPS source code with the compiler flags that 
the MUMPS people recommend for the different operating systems and 
compilers.  So, if you compile MUMPS somewhere else, just using the 
compilation process as the MUMPS project describes, and then you use the 
--with-mumps-dir flag to tell Ipopt where your MUMPS files are (after 
compilation), it should work fine, and you don't need any patches to have 
Ipopt work with your own version of MUMPS.

Yes, the MUMPS Makefiles provided by the MUMPS developers do not help you 
to compile MUMPS as a shared library.  As Stefan pointed out, in 
principle, we could treat the ThirdParty/MUMPS directory as a new 
indepedent library, so that our makefiles would generate shared objects 
containing MUMPS, but at this point it is not set up that way, and it is 
not so trivial to do that, due to cross-dependencies in several COIN 
projects.  However, if you compile the MUMPS library independent from the 
IPOPT project as shared object, the --with-mumps-dir flag should still 
work.

And yes, it would be very nice to have a binary distribution of Ipopt. 
It's a matter of finding the time to do that.  Actually, Leo Lopez, a 
member of the COIN TLC, has also been working on creating RPMs, and you 
guys might want to coordinate.  I'm sending you his contact information 
separately.

Cheers

Andreas



On Thu, 22 Nov 2007, Stefan Vigerske wrote:

> Hi,
>
>> I have been working on improving my RPM package for IPOPT so that it
>> could be submitted for inclusion in Linux distros such as Fedora and
>> SUSE. One major obstacle is that IPOPT provides 'configure' and 'make'
>> actions for MUMPS that AFAICT are not built into the original MUMPS tarball.
>>
>> Is there any way that a patch for the original MUMPS tarball could be
>> provided, so that one could first build MUMPS and install it, then,
>> entirely separately, unpack the IPOPT tarball, detect the installed
>> version of MUMPS, and use that to build IPOPT? This approach that I
>> describe is that which is required when submitting packages for
>> inclusion in the linux distros; it is not allowed for a package to
>> compile its own 'private' copy of a dependency as is currently done in
>> the IPOPT build process.
>
> There is the Ipopt configure option --with-mumps-dir to specify the
> location of a separately compiled MUMPS. So, if you do not have a MUMPS
> in ThirdParty but specify this flag, then Ipopts configure should use
> the MUMPS from there.
>
>> I'm sure this is possible, I just wondered if the person responsible for
>> integrating MUMPS into IPOPT might be able to help out with a patch for
>> MUMPS that would simplify this task for me.
>>
>> Down the track, it would be nice if the matrix solver(s) used by IPOPT
>> could be runtime-switchable, so that a single copy of IPOPT could be
>> used to run off MUMPS, PARDISO, HSL, etc. I believe that this is still a
>> way off, however? It would make a pre-compiled version of IPOPT much
>> more useful to end users.
>
> Yes, you are right. :-)
>
> Stefan
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>



More information about the Coin-ipopt mailing list