[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