Hi all,

   I am trying to compile with the svn version of dealii but some errors
occur related to MPI. I am using
openmpi and petsc in Ubuntu karmic. The command I used to configure is

CC=mpicc CXX=mpicxx F77=mpif77 F90=mpif90 ./configure
--with-petsc=/usr/lib/petscdir/3.0.0 --with-petsc-arch=linux-gnu-c-opt
--with-slepc=/usr/lib/slepcdir/3.0.0 --with-slepc-arch=linux-gnu-c-opt
--with-metis-include=/usr/include/metis --with-metis-libs=/usr/lib
--with-umfpack-include=/usr/include/suitesparse --with-umfpack-libs=/usr/lib

  The error messages are
=====lac==============optimized==MT== sparsity_pattern.cc
=====lac==============optimized==MT== sparsity_tools.cc
In file included from /usr/include/c++/4.4/utility:62,
                 from
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:37,
                 from /usr/lib/openmpi/include/mpi.h:1870,
                 from /usr/include/parmetis.h:17,
                 from /usr/include/metis/metis.h:27,
                 from source/sparsity_tools.cc:23:
/usr/include/c++/4.4/bits/stl_relops.h:83: error: template with C linkage
/usr/include/c++/4.4/bits/stl_relops.h:96: error: template with C linkage
/usr/include/c++/4.4/bits/stl_relops.h:109: error: template with C linkage
/usr/include/c++/4.4/bits/stl_relops.h:122: error: template with C linkage
In file included from
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:202,
                 from /usr/lib/openmpi/include/mpi.h:1870,
                 from /usr/include/parmetis.h:17,
                 from /usr/include/metis/metis.h:27,
                 from source/sparsity_tools.cc:23:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h:61: error:
declaration of C function ‘void MPI::Init()’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h:58: error:
previous declaration ‘void MPI::Init(int&, char**&)’ here
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h:86: error:
declaration of C function ‘int MPI::Init_thread(int)’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h:83: error:
previous declaration ‘int MPI::Init_thread(int&, char**&, int)’ here
In file included from
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:237,
                 from /usr/lib/openmpi/include/mpi.h:1870,
                 from /usr/include/parmetis.h:17,
                 from /usr/include/metis/metis.h:27,
                 from source/sparsity_tools.cc:23:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:40: error: declaration
of C function ‘void MPI::Register_datarep(const char*, int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:29: error: previous
declaration ‘void MPI::Register_datarep(const char*, void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ here
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:47: error: declaration
of C function ‘void MPI::Register_datarep(const char*, void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:36: error: previous
declaration ‘void MPI::Register_datarep(const char*, int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ here
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:54: error: declaration
of C function ‘void MPI::Register_datarep(const char*, int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/file.h:43: error: previous
declaration ‘void MPI::Register_datarep(const char*, void (*)(void*,
MPI::Datatype&, int, void*, MPI::Offset, void*), int (*)(void*,
ompi_datatype_t*, int, void*, MPI_Offset, void*), void (*)(const
MPI::Datatype&, MPI::Aint&, void*), void*)’ here
In file included from
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:286,
                 from /usr/lib/openmpi/include/mpi.h:1870,
                 from /usr/include/parmetis.h:17,
                 from /usr/include/metis/metis.h:27,
                 from source/sparsity_tools.cc:23:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: error:
‘void MPI::Init(int&, char**&)’ should have been declared inside ‘MPI’
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h: In function
‘void MPI::Init(int&, char**&)’:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: error:
declaration of C function ‘void MPI::Init(int&, char**&)’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions.h:61: error:
previous declaration ‘void MPI::Init()’ here
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h: At global
scope:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:103: error:
‘void MPI::Init()’ should have been declared inside ‘MPI’
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h: In function
‘void MPI::Init()’:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:103: error:
declaration of C function ‘void MPI::Init()’ conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:96: error:
previous declaration ‘void MPI::Init(int&, char**&)’ here
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h: At global
scope:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:147: error:
‘int MPI::Init_thread(int&, char**&, int)’ should have been declared inside
‘MPI’
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h: In function
‘int MPI::Init_thread(int&, char**&, int)’:
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:147: error:
declaration of C function ‘int MPI::Init_thread(int&, char**&, int)’
conflicts with
/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx/functions_inln.h:137: error:
previous declaration ‘int MPI::Init_thread(int)’ here
make[1]: *** [/home/phdggg/Develop/deal.II/lib/lac/sparsity_tools.o] Error 1
make[1]: Leaving directory `/home/phdggg/Develop/deal.II/lac'
make: *** [laco] Error 2

I hope someone can help me on this issue.

Thanks,
Mengda
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to