[Coin-ipopt] mpich2 issues

damien at khubla.com damien at khubla.com
Fri Apr 7 18:23:09 EDT 2006

Hi Scott,

You don't need an MPI version to build the sequential MUMPS, and I didn't
add any support for the distributed/multiprocessor version of it in IPOPT.
 I will one day, but it's not there yet.  You should be using the MUMPS
version of mpi.h which is in their distribution in the libseq directory,
not the one from MPICH2 in your distribution in /usr/local/include. 
You'll have to tweak your include settings.  If you still get the error
including the correct file, let me know and I'll fix it.  I've been runoff
my feet lately and haven't had time to check it out on gcc.  I did it
first in Win32 because that's what my company wanted, and that's where the
extern "C" came from.


> Hi,
> I've been trying to compile the development version of ipopt with
> mumps.  I am using MPICH2.  I've been getting the errors shown below.  I
> finally have been able to get this to compile by changing lines 12..15
> of IpMumpsSolverInterface.cpp
> from
> extern "C"
> {
> #include "mpi.h"
> }
> to
> #include "mpi.h"
> -Scott
> if g++ -DHAVE_CONFIG_H -I. -I../../../dev/Algorithm/LinearSolvers
> -I../../inc     -O3 -pipe
> -I/home/sturnber/src/MUMPS_4.6.1/serial/include  -DMPICH_IGNORE_CXX_SEEK
> -pedantic-errors -Wimplicit -Wparentheses -Wreturn-type -Wcast-qual
> -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Werror -Wconversion
> -I`echo ../../../dev/Algorithm/LinearSolvers/../../Common` -I`echo
> ../../../dev/Algorithm/LinearSolvers/../../LinAlg` -I`echo
> ../../../dev/Algorithm/LinearSolvers/../../LinAlg/TMatrices` -I`echo
> ../../../dev/Algorithm/LinearSolvers/..` -I`echo
> ../../../dev/Algorithm/LinearSolvers/../../Interfaces`
> -I/home/sturnber/src/MUMPS_4.6.1/serial/include  -DMPICH_IGNORE_CXX_SEEK
> -MT IpMumpsSolverInterface.o -MD -MP -MF
> ".deps/IpMumpsSolverInterface.Tpo" -c -o IpMumpsSolverInterface.o
> ../../../dev/Algorithm/LinearSolvers/IpMumpsSolverInterface.cpp; \
> then mv -f ".deps/IpMumpsSolverInterface.Tpo"
> ".deps/IpMumpsSolverInterface.Po"; else rm -f
> ".deps/IpMumpsSolverInterface.Tpo"; exit 1; fi
> /usr/local/include/mpicxx.h:2626: error: declaration of C function 'void
> MPI::Init(int&, char**&)' conflicts with
> /usr/local/include/mpicxx.h:2625: error: previous declaration 'void
> MPI::Init()' here
> /usr/local/include/mpicxx.h:2628: error: declaration of C function 'int
> MPI::Init_thread(int&, char**&, int)' conflicts with
> /usr/local/include/mpicxx.h:2627: error: previous declaration 'int
> MPI::Init_thread(int)' here
> make[2]: *** [IpMumpsSolverInterface.o] Error 1
> make[2]: Leaving directory
> `/home/sturnber/src/Ipopt/LINUX_w_MUMPS_SER/Algorithm/LinearSolvers'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/sturnber/src/Ipopt/LINUX_w_MUMPS_SER/Algorithm'
> make: *** [all-recursive] Error 1
> _______________________________________________
> 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