<div dir="ltr">In Homebrew, we compile IPOPT with -DHAVE_MPI_INITIALIZED to get around this. See <a href="https://github.com/Homebrew/homebrew-science/blob/master/ipopt.rb#L36">https://github.com/Homebrew/homebrew-science/blob/master/ipopt.rb#L36</a> and recent discussions on the IPOPT mailing list.</div>
<div class="gmail_extra"><br clear="all"><div>Dominique</div>
<br><br><div class="gmail_quote">On Wed, Jul 9, 2014 at 3:45 PM, Paulo César Pereira de Andrade <span dir="ltr"><<a href="mailto:paulo.cesar.pereira.de.andrade@gmail.com" target="_blank">paulo.cesar.pereira.de.andrade@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Hi,<br>
<br>
The Ipopt MUMPS interface calls MPI_Init in the class constructor<br>
and MPI_Finalize in the destructor. But openmpi causes a fatal<br>
error due to it:<br>
--------------------------------------------------------------------------<br>
Calling MPI_Init or MPI_Init_thread twice is erroneous.<br>
--------------------------------------------------------------------------<br>
<br>
Debian uses this patch for Ipopt:<br>
<br>
<a href="http://sources.debian.net/src/coinor-ipopt/3.11.7-2/debian/patches/mpi-init.patch" target="_blank">http://sources.debian.net/src/coinor-ipopt/3.11.7-2/debian/patches/mpi-init.patch</a><br>
<br>
But "only" that patch causes the Ipopt testsuite to fail due to calling<br>
MPI functions before MPI_Init.<br>
<br>
What is the proper way to handle it? I believe it should be<br>
somewhat like only call MPI_Init and MPI_Finalize from the<br>
test suite main function, but I have few knowledge of all<br>
details (e.g. maybe only required if linking Ipopt to a parallel<br>
MUMPS) ...<br>
<br>
Thanks,<br>
Paulo<br>
<br>Subscription/unsubscription: see <a href="https://listes.ens-lyon.fr/sympa/subscribe/mumps-users" target="_blank">https://listes.ens-lyon.fr/sympa/subscribe/mumps-users</a><br></blockquote></div><br></div>