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