[Coin-ipopt] Re: [Coin-discuss] IPOPT: build and linking questions
Damien
damien at khubla.com
Mon Jul 23 20:26:59 EDT 2007
Yes, AFAIK Ipopt only needs the double-precision version of MUMPS. And you're right about the
shared-library path. Making it an installable package would help Linux users a lot.
Damien
PS Nice to see a fellow Aussie on this list...
John Pye wrote:
> Hi Damien,
>
> damien at khubla.com wrote:
>> MUMPS can be a long compile depending on how you set it up. It comes with
>> 4 versions by default: single and double precision real, and single and
>> double precision complex. If you build all 4 it definitely takes a while.
>> On *Nix/*Nux, you can change the MUMPS top-level makefile to just build
>> the double-precision real version which speeds things up a bit.
>>
>
> Packaging of MUMPS on Linux could be set up with four different packages
> for each of these cases, so long as each .so can have a different name.
> I take it that IPOPT only ever needs to the double precision version?
> There will need to be a place where the *name* of the MUMPS shared
> library can be specified to the configure options.
>
>> Dynamically loading a MUMPS .so or dll is feasible and worth considering.
>> BUT: Remember that IPOPT is used on Windows as well (MUMPS was first put
>> into IPOPT on a Windows build before it was submitted to COIN) and the
>> syntax for loading dynamic libraries on *Nix/*Nux and Windows is
>> different. There's only one major entry point for calling MUMPS, and
>> making a dynamically-loadable library on both platforms is doable. I'll
>> have a look at the code in the next little while and try a few things out.
>>
>
> If it is of any help, here is a file that is fairly well tested for
> dlopening on both Windows and Linux, as well as having been used on
> other platforms in the past as well:
>
> http://ascendcode.cheme.cmu.edu/viewvc.cgi/code/branches/extfn/base/generic/utilities/ascDynaLoad.c?revision=1433&view=markup
>
> It is worth noting that when you make use of LoadLibrary or dlopen you
> also need to think about configuration of appropriate environment
> variables eg LD_LIBRARY_PATH (*n*x) or PATH (Windows). In the above,
> take a look at Asc_DynamicLoad and SearchArchiveLibraryPath.
>
> If a MUMPS shared library were possible, it could be packaged as a
> separate RPM/DEB available to Linux users from their standard
> repositories. This would certainly make the job of getting started with
> IPOPT that little bit easier for those people.
>
> Cheers
> JP
>
More information about the Coin-ipopt
mailing list