[Trilinos-Users] [EXTERNAL] VTK and Trilinos

Perschbacher, Brent M bmpersc at sandia.gov
Fri Jun 15 14:46:01 MDT 2012


Hmm, since you were able to link against just Trilinos I think we can rule out that Epetra was built in serial mode and therefore wouldn’t have any of the mpi symbols. Looking at the link line everything seems to be in the right order. Epetra_MpiComm doesn’t directly have a constructor that takes an ompi_communicator_t*, but I’m guessing that is what MPI_Comm resolves to for your mpi implementation given that you aren’t getting a compile error complaining about the parameter.

Can you try running:
nm | grep “Epetra_MpiComm”

On both libepetra.so and your libCamellia.so and send the output to me please? There might be some explanation in what symbols are actually in the libraries.

Brent


On 6/15/12 1:59 PM, "Truman Ellis" <truman at ices.utexas.edu> wrote:

 I am using a CMake build system to build my code with Trilinos, and everything works just fine. I started trying to additionally link with VTK, which also assumes a CMake build system. I have test codes which only link to VTK, and my current code only links to Trilinos. But when I try to make my code link to both VTK and Trilinos, they don't seem to play well together. For some reason, when I link to both VTK and Trilinos, I get errors of the type:
 ../../libCamellia.so: undefined reference to `Epetra_MpiComm::Epetra_MpiComm(ompi_communicator_t*)'

 (We have a library called Camellia and several drivers such as NavierStokes below)

 The verbose makefile output that generated this error is:

 Linking CXX executable NavierStokes
 cd /workspace/truman/Camellia/bin/drivers/NavierStokes && /usr/bin/cmake -E cmake_link_script CMakeFiles/NavierStokes.dir/link.txt --verbose=1
 /usr/bin/mpicxx     -Wno-deprecated -g    CMakeFiles/NavierStokes.dir/NSDriver.cpp.o  -o NavierStokes -rdynamic -L/usr/lib/vtk-5.2 -L/workspace/truman/trilinos_builds/mpi_release/lib -L/workspace/jchan/MUMPS_4.9.2/lib -L/workspace/jchan/lib/scalapack -lvtkHybrid ../../libCamellia.so /workspace/truman/trilinos_builds/mpi_release/lib/libintrepid.so /workspace/truman/trilinos_builds/mpi_release/lib/libml.so /workspace/truman/trilinos_builds/mpi_release/lib/libifpack.so /workspace/truman/trilinos_builds/mpi_release/lib/libpamgen_extras.so /workspace/truman/trilinos_builds/mpi_release/lib/libpamgen.so /workspace/truman/trilinos_builds/mpi_release/lib/libamesos.so /workspace/truman/trilinos_builds/mpi_release/lib/libgaleri.so /workspace/truman/trilinos_builds/mpi_release/lib/libaztecoo.so /workspace/truman/trilinos_builds/mpi_release/lib/libisorropia.so /workspace/truman/trilinos_builds/mpi_release/lib/libepetraext.so /workspace/truman/trilinos_builds/mpi_release/lib/libtpetraext.so /workspace/truman/trilinos_builds/mpi_release/lib/libtpetrainout.so /workspace/truman/trilinos_builds/mpi_release/lib/libtpetra.so /workspace/truman/trilinos_builds/mpi_release/lib/libtriutils.so /workspace/truman/trilinos_builds/mpi_release/lib/libshards.so /workspace/truman/trilinos_builds/mpi_release/lib/libzoltan.so /workspace/truman/trilinos_builds/mpi_release/lib/libepetra.so /workspace/truman/trilinos_builds/mpi_release/lib/libkokkoslinalg.so /workspace/truman/trilinos_builds/mpi_release/lib/libkokkosnodeapi.so /workspace/truman/trilinos_builds/mpi_release/lib/libkokkos.so /workspace/truman/trilinos_builds/mpi_release/lib/libsacado.so /workspace/truman/trilinos_builds/mpi_release/lib/libtpi.so /workspace/truman/trilinos_builds/mpi_release/lib/libteuchos.so -ldmumps -lmumps_common -lpord -llapack -lblas -lpthread -lscalapack -lvtkHybrid -lvtkParallel -lvtkRendering -lvtkGraphics -lvtkverdict -lvtkImaging -lvtkftgl -lfreetype -lgl2ps -lGL -lXt -lSM -lICE -lX11 -lXext -lXss -lXft -lvtkIO -lmysqlclient -lvtkFiltering -lvtkCommon -lpthread -lm -lvtkDICOMParser -lvtkmetaio -lvtksqlite -lpng -lz -ljpeg -ltiff -lexpat -lvtksys -ldl -lavcodec -lavformat -lavutil -lswscale -lvtkexoIIc -lvtkNetCDF /usr/lib/openmpi/lib/libmpi_cxx.so /usr/lib/openmpi/lib/libmpi.so /usr/lib/openmpi/lib/libopen-rte.so /usr/lib/openmpi/lib/libopen-pal.so -ldl -lnsl -lutil -lm -ldl -lnsl -lutil -lm /workspace/jchan/MUMPS_4.9.2/lib/libdmumps.a /workspace/jchan/MUMPS_4.9.2/lib/libpord.a /workspace/jchan/MUMPS_4.9.2/lib/libmumps_common.a -lpthread -llapack -lblas -Wl,-rpath,/usr/lib/vtk-5.2:/workspace/truman/trilinos_builds/mpi_release/lib:/workspace/jchan/MUMPS_4.9.2/lib:/workspace/jchan/lib/scalapack:/workspace/truman/Camellia/bin:/usr/lib/openmpi/lib
 ../../libCamellia.so: undefined reference to `Epetra_MpiComm::Epetra_MpiComm(ompi_communicator_t*)'
 collect2: ld returned 1 exit status

 I've messed around with this for two days now, and I can't seem to figure out what is going wrong.

 Any ideas?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20120615/d293620c/attachment.html 


More information about the Trilinos-Users mailing list