<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <font face="monospace">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. </font>For some reason, when I link to both VTK and
    Trilinos, I get errors of the type:<br>
    ../../libCamellia.so: undefined reference to
    `Epetra_MpiComm::Epetra_MpiComm(ompi_communicator_t*)'<br>
    <br>
    (We have a library called Camellia and several drivers such as
    NavierStokes below)<br>
    <br>
    The verbose makefile output that generated this error is:<br>
    <br>
    Linking CXX executable NavierStokes<br>
    cd /workspace/truman/Camellia/bin/drivers/NavierStokes &amp;&amp;
    /usr/bin/cmake -E cmake_link_script
    CMakeFiles/NavierStokes.dir/link.txt --verbose=1<br>
    /usr/bin/mpicxx&nbsp;&nbsp;&nbsp;&nbsp; -Wno-deprecated -g&nbsp;&nbsp;&nbsp;
    CMakeFiles/NavierStokes.dir/NSDriver.cpp.o&nbsp; -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<br>
    ../../libCamellia.so: undefined reference to
    `Epetra_MpiComm::Epetra_MpiComm(ompi_communicator_t*)'<br>
    collect2: ld returned 1 exit status<br>
    <br>
    I've messed around with this for two days now, and I can't seem to
    figure out what is going wrong. <br>
    <br>
    Any ideas?
    <pre class="moz-signature" cols="72">-- 
Truman Ellis</pre>
  </body>
</html>