/MueLu_BlockedDirectSolver.cpp.o fails to compile under gcc
Created by: bathmatt
here is a compile line. Not sure why this is happening..
/home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp: In instantiation of ‘Teuchos::RCP<MueLu::SmootherPrototype<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::BlockedDirectSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Copy() const [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP]’: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Utils/MueLu_ETI_4arg.hpp:32:3: required from here /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:181:17: error: invalid new-expression of abstract class type ‘MueLu::BlockedDirectSolver<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >’ return rcp (new BlockedDirectSolver (*this)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from packages/muelu/src/MueLu_BlockedDirectSolver.hpp:1:0, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:65, from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_BlockedDirectSolver.cpp:55: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_decl.hpp:85:9: note: because the following virtual functions are pure within ‘MueLu::BlockedDirectSolver<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >’: class BlockedDirectSolver : public SmootherPrototype<Scalar,LocalOrdinal,GlobalOrdinal,Node> ^~~~~~~~~~~~~~~~~~~ In file included from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/MueLu_SmootherPrototype_decl.hpp:51:0, from packages/muelu/src/MueLu_SmootherPrototype.hpp:1, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_decl.hpp:63, from packages/muelu/src/MueLu_BlockedDirectSolver.hpp:1, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:65, from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_BlockedDirectSolver.cpp:55: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/MueLu_SmootherBase.hpp:94:20: note: size_t MueLu::SmootherBase<Scalar, LocalOrdinal, GlobalOrdinal, Node>::getNodeSmootherComplexity() const [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = int; Node = Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP; size_t = long unsigned int] virtual size_t getNodeSmootherComplexity() const= 0; ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_BlockedDirectSolver.cpp:55:0: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp: In instantiation of ‘Teuchos::RCP<MueLu::SmootherPrototype<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::BlockedDirectSolver<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Copy() const [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = long int; Node = Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP]’: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Utils/MueLu_ETI_4arg.hpp:32:3: required from here /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:181:17: error: invalid new-expression of abstract class type ‘MueLu::BlockedDirectSolver<double, int, long int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >’ return rcp (new BlockedDirectSolver (*this)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from packages/muelu/src/MueLu_BlockedDirectSolver.hpp:1:0, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:65, from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_BlockedDirectSolver.cpp:55: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_decl.hpp:85:9: note: because the following virtual functions are pure within ‘MueLu::BlockedDirectSolver<double, int, long int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >’: class BlockedDirectSolver : public SmootherPrototype<Scalar,LocalOrdinal,GlobalOrdinal,Node> ^~~~~~~~~~~~~~~~~~~ In file included from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/MueLu_SmootherPrototype_decl.hpp:51:0, from packages/muelu/src/MueLu_SmootherPrototype.hpp:1, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_decl.hpp:63, from packages/muelu/src/MueLu_BlockedDirectSolver.hpp:1, from /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/BlockedSmoothers/MueLu_BlockedDirectSolver_def.hpp:65, from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_BlockedDirectSolver.cpp:55: /home/mbetten/Trilinos/Trilinos/packages/muelu/src/Smoothers/MueLu_SmootherBase.hpp:94:20: note: size_t MueLu::SmootherBase<Scalar, LocalOrdinal, GlobalOrdinal, Node>::getNodeSmootherComplexity() const [with Scalar = double; LocalOrdinal = int; GlobalOrdinal = long int; Node = Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP; size_t = long unsigned int] virtual size_t getNodeSmootherComplexity() const= 0; ^~~~~~~~~~~~~~~~~~~~~~~~~