[Trilinos-Users] Cannot get my own project to compile against Belos

Rutherford, Joseph M jmruther at illinois.edu
Fri Mar 6 18:04:19 MST 2015


Trilinos-Users:

I am attempting to build a simple linear solver using Belos to provide iterative solving mechanisms.  However, when I compile it is not seeing proper specializations for my types. I am able to compile and run Belos examples in the source distribution, so I'm reasonably confident that my Trilinos 11.14 install is working (I have the same problem with 11.12).

The output I get from GCC is below.  I would be grateful for any suggestions.

Sincerely yours,

Joe Rutherford



<compiler_message>
In file included from /home/jmruther/trilinos/lib/cmake/Trilinos/../../../include/BelosLinearProblem.hpp:50:0,
                 from /home/jmruther/solver/src/./sparse_iterative_solver.hpp:2,
                 from /home/jmruther/solver/src/main.cpp:10:
/home/jmruther/trilinos/lib/cmake/Trilinos/../../../include/BelosOperatorTraits.hpp: In instantiation of ‘static void Belos::UndefinedOperatorTraits<ScalarType, MV, OP>::notDefined() [with ScalarType = std::complex<float>; MV = Tpetra::MultiVector<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>; OP = Tpetra::CrsMatrix<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>]’:
/home/jmruther/trilinos/lib/cmake/Trilinos/../../../include/BelosOperatorTraits.hpp:130:63:   required from ‘static void Belos::OperatorTraits<ScalarType, MV, OP>::Apply(const OP&, const MV&, MV&, Belos::ETrans) [with ScalarType = std::complex<float>; MV = Tpetra::MultiVector<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>; OP = Tpetra::CrsMatrix<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>]’
/home/jmruther/trilinos/lib/cmake/Trilinos/../../../include/BelosMatOrthoManager.hpp:124:31:   required from ‘void Belos::MatOrthoManager<ScalarType, MV, OP>::innerProd(const MV&, const MV&, Teuchos::SerialDenseMatrix<int, ScalarType>&) const [with ScalarType = std::complex<float>; MV = Tpetra::MultiVector<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>; OP = Tpetra::CrsMatrix<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>]’
/home/jmruther/solver/src/main.cpp:107:1:   required from here
/home/jmruther/trilinos/lib/cmake/Trilinos/../../../include/BelosOperatorTraits.hpp:70:49: error: ‘this_type_is_missing_a_specialization’ is not a member of ‘Tpetra::CrsMatrix<std::complex<float>, int, int, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial>, false>’
       OP::this_type_is_missing_a_specialization(); 
                                                 ^
make[2]: *** [src/CMakeFiles/solver.exe.dir/main.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/solver.exe.dir/all] Error 2
make: *** [all] Error 2
jmruther at heaviside:build$
</compiler_message>


More information about the Trilinos-Users mailing list