Hello.
I’m a system administrator trying to build Trilinos for inclusion into the
Deal II software. I asked this question on the Trilinos user group, but
they told me to ask here.
I have built Trilinos 12.10.1 with Deal II 8.4.1.
I used these modules to build Trilinos and these cmake options:
Modules used:
1) gnu/4.7.2 4) p4est/1.1 7) swig/3.0.12
2) openmpi/2.1.0 5) hdf5/1.8.18 8) cmake/3.4.1
3) superlu/5.1.2 6) parmetis/4.0.2
cmake ../trilinos-12.10.1-Source \
-DTrilinos_ENABLE_Sacado=ON \
-DTrilinos_ENABLE_Stratimikos=ON \
-DTrilinos_ENABLE_MueLu=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
-DBLAS_LIBRARY_NAMES:STRING="blas" \
-DLAPACK_LIBRARY_NAMES:STRING="lapack" \
-DCMAKE_VERBOSE_MAKEFILE=FALSE \
-DTrilinos_VERBOSE_CONFIGURE=FALSE \
-DTPL_ENABLE_MPI=ON \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=/gpfs3/applications/trilinos/12.10.1/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER
\
-DTPL_ENABLE_MKL=OFF \
-DTPL_ENABLE_BLAS=ON \
-DTPL_ENABLE_LAPACK=ON \
-DTPL_BLAS_LIBRARIES='blas' \
-DTPL_LAPACK_LIBRARIES='lapack' \
-DTPL_ENABLE_Matio=OFF \
-DTrilinos_ENABLE_CXX11=ON \
-DBUILD_SHARED_LIBS=OFF
I saw no notable errors, and the software installed without issues. With
Deal II, I used this:
Module used:
1) gnu/4.7.2 4) p4est/1.1 7) swig/3.0.12
2) openmpi/2.1.0 5) hdf5/1.8.18 8) cmake/3.4.1
3) superlu/5.1.2 6) parmetis/4.0.2 9) trilinos/12.10.1
cmake
-DCMAKE_INSTALL_PREFIX=/gpfs3/applications/deal_II/8.4.1/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER
\
-DDEAL_II_WITH_THREADS=OFF \
-DDEAL_II_WITH_MPI=ON \
-DDEAL_II_WITH_PETSC=OFF \
-DDEAL_II_WITH_NETCDF=OFF \
-DP4EST_DIR=/gpfs3/applications/p4est/1.1/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER
\
-DHDF5_DIR=/gpfs3/applications/hdf5/1.8.18/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER
\
-DTRILINOS_DIR=/gpfs3/applications/trilinos/12.10.1/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER
\
-DDEAL_II_COMPONENT_PARAMETER_GUI=ON \
-DDEAL_II_WITH_P4EST=ON \
-DDEAL_II_WITH_TRILINOS=ON \
-DTrilinos_INCLUDE_DIRS=/gpfs3/applications/trilinos/12.10.1/$MODULES_MPINAME/$MODULES_MPIVER/$MODULES_CVEN/$MODULES_CVER/include
\
-DDEAL_II_WITH_CXX11=ON \
../dealii-8.4.1
However, I get this kind of error when trying to build one of the test
files. Specifically, Step-32.
Currently Loaded Modulefiles:
1) gnu/4.7.2 4) deal-ii/8.4.1 7) parmetis/4.0.2
2) openmpi/2.1.0 5) p4est/1.1 8) swig/3.0.12
3) trilinos/12.10.1 6) superlu/5.1.2 9) hdf5/1.8.18
[xxx step-32]$ cmake .
-- Autopilot invoked
###
#
# Project step-32 set up with deal.II-8.4.1 found at
# /gpfs3/applications/deal_II/8.4.1/openmpi/2.1.0/gnu/4.7.2
#
# CMAKE_BUILD_TYPE: Debug
#
# You can now run…
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xxx/step-32
[xxx step-32]$ make
Scanning dependencies of target step-32
Linking CXX executable step-32
CMakeFiles/step-32.dir/step-32.cc.o: In function
`Step32::BoussinesqFlowProblem<
2>::project_temperature_field()':
/home/xxx/step-32/step-32.cc:1768: undefined reference to `void
dealii::ConstraintMatrix::distribute<dealii::TrilinosWrappers::MPI::Vector>(dealii::TrilinosWrappers::MPI::Vector&)
const'
CMakeFiles/step-32.dir/step-32.cc.o: In function
`dealii::Solver<dealii::TrilinosWrappers::MPI::BlockVector>::~Solver()':
/gpfs3/applications/deal_II/8.4.1/openmpi/2.1.0/gnu/4.7.2/include/deal.II/lac/solver.h:325:
undefined reference to
`dealii::GrowingVectorMemory<dealii::TrilinosWrappers::MPI::BlockVector>::~GrowingVectorMemory()'
/gpfs3/applications/deal_II/8.4.1/openmpi/2.1.0/gnu/4.7.2/include/deal.II/lac/solver.h:325:
undefined reference to
`dealii::GrowingVectorMemory<dealii::TrilinosWrappers::MPI::BlockVector>::~GrowingVectorMemory()'
CMakeFiles/step-32.dir/step-32.cc.o: In function
`Step32::BoussinesqFlowProblem<2>::solve()':
/home/xxx/step-32/step-32.cc:3034: undefined reference to `void
dealii::ConstraintMatrix::distribute<dealii::TrilinosWrappers::MPI::BlockVector>(dealii::TrilinosWrappers::MPI::BlockVector&)
const'
/home/xxx/step-32/step-32.cc:3100: undefined reference to `void
dealii::ConstraintMatrix::distribute<dealii::TrilinosWrappers::MPI::Vector>(dealii::TrilinosWrappers::MPI::Vector&)
const'
This is only an excerpt from a long list of errors that look similar. So,
it looks like Trilinos libraries are missing some sort of C++ symbols.
The module looks like this:
set name trilinos
set ver 12.10.1
set root /gpfs3/applications/trilinos
set mpiroot
$root/$ver/$env(MODULES_MPINAME)/$env(MODULES_MPIVER)/$env(MODULES_CVEN)/$env(MODULES_CVER)
prepend-path -d ":" LD_LIBRARY_PATH "${mpiroot}/lib"
prepend-path -d ":" INCLUDE "${mpiroot}/include"
setenv TRILINOS_DIR $mpiroot
Has anyone seen this problem before? I have no idea how to fix the issue.
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.