[Ipopt] Ubuntu package for MUMPS fails with MPI_Comm_rank error

Philip Du Toit philip.dutoit at numerica.us
Fri Apr 12 11:01:22 EDT 2013


I forgot to mention that more details about this error and how to reproduce it are provided on the following Ubuntu ticket<https://bugs.launchpad.net/ubuntu/+source/coinor-ipopt/+bug/1167585>:
Thanks.  --Philip


To reproduce the problem:
wget http://www.coin-or.org/download/source/Ipopt/Ipopt-3.10.2.tgz
tar xzf Ipopt-3.10.2.tgz
cp -r Ipopt-3.10.2/Ipopt/examples/Cpp_example .
cd Cpp_example
#now you have the source code for the example that fails.

#build it (this works)
g++ *.cpp -DHAVE_CSTDDEF `pkg-config ipopt --cflags` `pkg-config ipopt --libs`

#run it, this fails
./a.out
[nasa1:489] *** An error occurred in MPI_Comm_rank
[nasa1:489] *** on communicator MPI_COMM_WORLD
[nasa1:489] *** MPI_ERR_COMM: invalid communicator
[nasa1:489] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)

I think this is a package issue because the following run properly:
1) IpOpt from source and Mumps from source (with get.Mumps)
2) IpOpt from source and Mumps from the ubuntu package libmumps-dev

I also want to note that the -DHAVE_CSTDDEF is necessary because the IpSmartPtr.hpp file is patched by this package (I think) incorrectly. HAVE_CSTDDEF is not meant to be exported by being in a header file. It is meant to be defined by the generated config.h file but that file is not exported. The error you get while compiling without this silly define is
/usr/include/coin/IpSmartPtr.hpp:18:4: error: #error "don't have header file for stddef"
I think the patch to IpSmartPtr should simply add #include <cstddef>. This is ubuntu and we know we have cstddef.




On Apr 12, 2013, at 8:54 AM, Philip Du Toit <Philip.DuToit at numerica.us<mailto:Philip.DuToit at numerica.us>> wrote:

Hi Everyone,

Has anyone successfully run Ipopt with the MUMPS solver using the packages provided on Ubuntu?

I am able to successfully run the Cpp_example.cpp when I compile Ipopt and Mumps from source.
However, when I use the Ipopt and Mumps packages provided by the package manager I get the following runtime error:

./a.out
[nasa1:489] *** An error occurred in MPI_Comm_rank
[nasa1:489] *** on communicator MPI_COMM_WORLD
[nasa1:489] *** MPI_ERR_COMM: invalid communicator
[nasa1:489] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)

Does anyone have any hints for using the Ipopt and Mumps packages on Ubuntu?

Many thanks.

--Philip



_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org<mailto:Ipopt at list.coin-or.org>
http://list.coin-or.org/mailman/listinfo/ipopt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130412/f7f05ace/attachment.html>


More information about the Ipopt mailing list