[Trilinos-Users] Building against Trilinos

Peterson, Kara J. kjpeter at sandia.gov
Fri May 13 15:13:07 MDT 2011


Hi Ted,

Can you double check that you have the following line set to the path to your build directory of Trilinos? There should be a TrilinosConfig.cmake file in the top level of that directory.

 -D Trilinos_PREFIX:PATH=/home/tedkord/TRILINOS/BUILD

I can reproduce the error you got below when I point to a directory other than the build directory, such as the directory containing the Trilinos source.

Regards,

Kara


From: Ted Kord <teddy.kord at gmail.com<mailto:teddy.kord at gmail.com>>
Date: Fri, 13 May 2011 21:39:13 +0100
To: Kara Peterson <kjpeter at sandia.gov<mailto:kjpeter at sandia.gov>>
Cc: "trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>" <trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: Re: [Trilinos-Users] Building against Trilinos

Hi Kara,

I've replaced the CMakeLists.txt in the directory above the build directory. The output from running the do-cmake script is now:

CMake Error at CMakeLists.txt:11 (FIND_PACKAGE):
  Could not find module FindTrilinos.cmake or a configuration file for
  package Trilinos.

  Adjust CMAKE_MODULE_PATH to find FindTrilinos.cmake or set Trilinos_DIR to
  the directory containing a CMake configuration file for Trilinos.  The file
  will have one of the following names:

    TrilinosConfig.cmake
    trilinos-config.cmake

Found Trilinos!  Here are the details:
   Trilinos_DIR = Trilinos_DIR-NOTFOUND
   Trilinos_VERSION =
   Trilinos_PACKAGE_LIST =
   Trilinos_LIBRARIES =
   Trilinos_INCLUDE_DIRS =
   Trilinos_LIBRARY_DIRS =
   Trilinos_TPL_LIST =
   Trilinos_TPL_INCLUDE_DIRS =
   Trilinos_TPL_LIBRARIES =
   Trilinos_TPL_LIBRARY_DIRS =
   Trilinos_BUILD_SHARED_LIBS =
End of Trilinos details

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Checking if MPI is enabled in Trilinos:
-- Checking if MPI is enabled in Trilinos: MPI NOT ENABLED
-- Looking for Epetra:
-- Looking for Epetra: -- not found.
-- Configuring incomplete, errors occurred!


do-cmake script:
=============
cmake \
 -D Trilinos_PREFIX:PATH=/home/tedkord/TRILINOS/BUILD \
 -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \
 ..

Ted


On 13 May 2011 21:25, Peterson, Kara J. <kjpeter at sandia.gov<mailto:kjpeter at sandia.gov>> wrote:
Hi Ted,

The problem is apparently in the CMakeLists.txt file in the buildAgainstTrilinos directory, which I believe is looking for an installed Trilinos based on how it is searching. I've attached a revised CMakeLists.txt file that should work with the do-cmake that I suggested below, which defines Trilinos_PREFIX and not MYAPP_TRILINOS_DIR.   Just replace the CMakeLists.txt in the directory above the build directory with the one attached.

Regarding the errors you are getting when you try to compile the Didasko example, it looks like the code is not linking to your MPI library correctly. Try again once you get the do-cmake working correctly. Hopefully, when the do-cmake finds Trilinos all the dependencies will be treated correctly automatically.

Kara

From: Ted Kord <teddy.kord at gmail.com<mailto:teddy.kord at gmail.com>>
Date: Fri, 13 May 2011 20:58:13 +0100
To: Kara Peterson <kjpeter at sandia.gov<mailto:kjpeter at sandia.gov>>
Cc: "trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>" <trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: Re: [Trilinos-Users] Building against Trilinos

On reflection, this still means my Trilinos build is still not being found. What could be the problem?

Ted


On 13 May 2011 19:46, Ted Kord <teddy.kord at gmail.com<mailto:teddy.kord at gmail.com>> wrote:
Hi Kara,

Now I get:

==
  MyApp Error: cmake must define MYAPP_TRILINOS_DIR:

    (-D MYAPP_TRILINOS_DIR:FILEPATH=<trilinos_install_prefix>)!

==

On a related note, when I try to build didaskos ex1.cpp on its own (as a test) using the do-cmake script, my Trilinos Build is located but when I 'make', I get undefined references:

<culled>
make[2]: Leaving directory `/home/tedkord/TESTS/build'
make -f CMakeFiles/MyApp.exe.dir/build.make CMakeFiles/MyApp.exe.dir/build
make[2]: Entering directory `/home/tedkord/TESTS/build'
/usr/bin/cmake -E cmake_progress_report /home/tedkord/TESTS/build/CMakeFiles 1
[100%] Building CXX object CMakeFiles/MyApp.exe.dir/ex1.o
/usr/bin/c++    -I/home/tedkord/trilinos-10.6.4-Source/packages/didasko/src   -o CMakeFiles/MyApp.exe.dir/ex1.o -c /home/tedkord/TESTS/ex1.cpp
Linking CXX executable MyApp.exe
/usr/bin/cmake -E cmake_link_script CMakeFiles/MyApp.exe.dir/link.txt --verbose=1
/usr/bin/c++      CMakeFiles/MyApp.exe.dir/ex1.o  -o MyApp.exe -rdynamic libmyappLib.a
CMakeFiles/MyApp.exe.dir/ex1.o: In function `main':
ex1.cpp:(.text+0x21): undefined reference to `MPI_Init'
ex1.cpp:(.text+0x26): undefined reference to `ompi_mpi_comm_world'
ex1.cpp:(.text+0x35): undefined reference to `Epetra_MpiComm::Epetra_MpiComm(ompi_communicator_t*)'
ex1.cpp:(.text+0xae): undefined reference to `Epetra_MpiComm::Barrier() const'
ex1.cpp:(.text+0xe1): undefined reference to `Epetra_MpiComm::Broadcast(double*, int, int) const'
ex1.cpp:(.text+0xfe): undefined reference to `Epetra_MpiComm::Broadcast(int*, int, int) const'
ex1.cpp:(.text+0x11a): undefined reference to `Epetra_MpiComm::GatherAll(double*, double*, int) const'
ex1.cpp:(.text+0x140): undefined reference to `Epetra_MpiComm::SumAll(double*, double*, int) const'
ex1.cpp:(.text+0x15c): undefined reference to `Epetra_MpiComm::MaxAll(double*, double*, int) const'
ex1.cpp:(.text+0x182): undefined reference to `Epetra_MpiComm::ScanSum(double*, double*, int) const'
ex1.cpp:(.text+0x1fa): undefined reference to `MPI_Finalize'
ex1.cpp:(.text+0x20b): undefined reference to `Epetra_MpiComm::~Epetra_MpiComm()'
ex1.cpp:(.text+0x227): undefined reference to `Epetra_MpiComm::~Epetra_MpiComm()'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Intracomm::Intracomm()':
ex1.cpp:(.text._ZN3MPI9IntracommC2Ev[MPI::Intracomm::Intracomm()]+0x14): undefined reference to `MPI::Comm::Comm()'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_contiguous(int) const':
ex1.cpp:(.text._ZNK3MPI8Datatype17Create_contiguousEi[MPI::Datatype::Create_contiguous(int) const]+0x28): undefined reference to `MPI_Type_contiguous'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_vector(int, int, int) const':
ex1.cpp:(.text._ZNK3MPI8Datatype13Create_vectorEiii[MPI::Datatype::Create_vector(int, int, int) const]+0x35): undefined reference to `MPI_Type_vector'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_indexed(int, int const*, int const*) const':
ex1.cpp:(.text._ZNK3MPI8Datatype14Create_indexedEiPKiS2_[MPI::Datatype::Create_indexed(int, int const*, int const*) const]+0x38): undefined reference to `MPI_Type_indexed'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_hindexed(int, int const*, long const*) const':
ex1.cpp:(.text._ZNK3MPI8Datatype15Create_hindexedEiPKiPKl[MPI::Datatype::Create_hindexed(int, int const*, long const*) const]+0x38): undefined reference to `MPI_Type_create_hindexed'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_hvector(int, int, long) const':
ex1.cpp:(.text._ZNK3MPI8Datatype14Create_hvectorEiil[MPI::Datatype::Create_hvector(int, int, long) const]+0x36): undefined reference to `MPI_Type_create_hvector'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_indexed_block(int, int, int const*) const':
ex1.cpp:(.text._ZNK3MPI8Datatype20Create_indexed_blockEiiPKi[MPI::Datatype::Create_indexed_block(int, int, int const*) const]+0x36): undefined reference to `MPI_Type_create_indexed_block'
CMakeFiles/MyApp.exe.dir/ex1.o: In function `MPI::Datatype::Create_resized(long, long) const':

</culled>

Ted


On 13 May 2011 15:49, Peterson, Kara J. <kjpeter at sandia.gov<mailto:kjpeter at sandia.gov>> wrote:
Hi Ted,

Try changing your do-cmake file to the following:

cmake \
 -D Trilinos_PREFIX:PATH=/home/tedkord/TRILINOS/BUILD \
 -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \
 ..

This should enable cmake to locate your Trilinos build.


Regards,

Kara



From: Ted Kord <teddy.kord at gmail.com<mailto:teddy.kord at gmail.com>>
Date: Fri, 13 May 2011 14:45:44 +0100
To: <trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: [Trilinos-Users] Building against Trilinos

I'm trying to test this out but with no success so far. I've gone into the:

trilinos-10.6.4-Source/demos/buildAgainstTrilinos/build   directory.

I've modified the do-cmake script as follows:

<do-cmake>
rm CMakeCache.txt

cmake \
 -D MYAPP_TRILINOS_DIR:FILEPATH=/home/tedkord/TRILINOS/BUILD \
 -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \
 ..
</do-cmake>

When I run the do-cmake script, I get:

====
CMake Warning at CMakeLists.txt:12 (FIND_PACKAGE):
  Could not find a configuration file for package Trilinos.

  Set Trilinos_DIR to the directory containing a CMake configuration file for
  Trilinos.  The file will have one of the following names:

    TrilinosConfig.cmake
    trilinos-config.cmake



CMake Error at CMakeLists.txt:15 (MESSAGE):
  Could not find Trilinos!


-- Configuring incomplete, errors occurred!
====

TrilinosConfig.cmake is in "home/tedkord/TRILINOS" but Trilinos is installed in "home/tedkord/TRILINOS/BUILD". In any case, using both directories gives the same error as above.

--
Best regards,

Theodore


_______________________________________________ Trilinos-Users mailing list Trilinos-Users at software.sandia.gov<mailto:Trilinos-Users at software.sandia.gov> http://software.sandia.gov/mailman/listinfo/trilinos-users



--
Best regards,

Theodore





--
Best regards,

Theodore





--
Best regards,

Theodore


-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20110513/408e0f88/attachment-0001.html 


More information about the Trilinos-Users mailing list