[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