Did you use OMPI's C++ wrapper compiler to build your code? Looks to me like you are missing the required include paths, which is what the wrapper compiler would provide.


On Jan 10, 2012, at 11:50 AM, John Doe wrote:

I'm trying to compile some code that uses the Chombo mesh package which uses Open MPI's C++ but keep getting errors like this:

AMRLevelX.o: In function `Intracomm':
/opt/ompi/gnu/1.4.4/include/openmpi/ompi/mpi/cxx/intracomm.h:25: undefined reference to `MPI::Comm::Comm()'
AMRLevelX.o: In function `Intracomm':
/opt/ompi/gnu/1.4.4/include/openmpi/ompi/mpi/cxx/intracomm_inln.h:23: undefined reference to `MPI::Comm::Comm()'
AMRLevelX.o: In function `MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)':
/opt/ompi/gnu/1.4.4/include/openmpi/ompi/mpi/cxx/op_inln.h:122: undefined reference to `ompi_mpi_cxx_op_intercept'
AMRLevelX.o:(.rodata._ZTVN3MPI3WinE[vtable for MPI::Win]+0x48): undefined reference to `MPI::Win::Free()'
AMRLevelX.o:(.rodata._ZTVN3MPI8DatatypeE[vtable for MPI::Datatype]+0x78): undefined reference to `MPI::Datatype::Free()'
collect2: ld returned 1 exit status

which looks like a problem with some ompi c++ symbols. I have the path to the library file libmpi_cxx.so in my LD_LIBRARY_PATH and compiled openmpi with C++ and shared library support. Am I missing something?

Thanks

_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users