Compilation with dealII fails in Teuchos_DefaultMpiComm.hpp
Created by: anates
When compiling, I get the error messages
In file included from /usr/local/include/Teuchos_Assert.hpp:46:0, from /usr/local/include/Teuchos_any.hpp:51, from /usr/local/include/Teuchos_ParameterEntry.hpp:51, from /usr/local/include/Teuchos_ParameterList.hpp:51, from ~/Downloads/dealii/include/deal.II/lac/trilinos_precondition.h:39, from ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:17: /usr/local/include/Teuchos_DefaultMpiComm.hpp: In instantiation of ‘Teuchos::MpiComm::MpiComm(MPI_Comm) [with Ordinal = int; MPI_Comm = ompi_communicator_t*]’: /usr/local/include/Ifpack2_LocalFilter_def.hpp:110:20: required from ‘Ifpack2::LocalFilter::LocalFilter(const Teuchos::RCP<const Tpetra::RowMatrix<typename MatrixType::scalar_type, typename MatrixType::local_ordinal_type, typename MatrixType::global_ordinal_type, typename MatrixType::node_type> >&) [with MatrixType = Tpetra::RowMatrix<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >; typename MatrixType::node_type = Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP; typename MatrixType::global_ordinal_type = int; typename MatrixType::local_ordinal_type = int; typename MatrixType::scalar_type = double]’ /usr/local/include/Ifpack2_Details_DenseSolver_def.hpp:245:23: required from ‘void Ifpack2::Details::DenseSolver<MatrixType, false>::initialize() [with MatrixType = Tpetra::RowMatrix<double, int, int, Kokkos::Compat::KokkosDeviceWrapperNodeKokkos::OpenMP >]’ ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:302:1: required from here /usr/local/include/Teuchos_DefaultMpiComm.hpp:835:3: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] TEUCHOS_TEST_FOR_EXCEPTION(rawMpiComm == MPI_COMM_NULL, ^ [ 61%] Building CXX object source/numerics/CMakeFiles/obj_numerics_debug.dir/matrix_tools_once.cc.o In file included from /usr/local/include/Teuchos_DefaultComm.hpp:48:0, from /usr/local/include/MueLu.hpp:58, from ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:34: /usr/local/include/Teuchos_DefaultMpiComm.hpp: In instantiation of ‘Teuchos::RCP<Teuchos::Comm > Teuchos::MpiComm::duplicate() const [with Ordinal = int]’: ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:302:1: required from here /usr/local/include/Teuchos_DefaultMpiComm.hpp:1637:12: error: invalid conversion from ‘int’ to ‘MPI_Comm {aka ompi_communicator_t*}’ [-fpermissive] MPI_Comm newRawComm = MPI_COMM_NULL; ^~~~~~~~~~ /usr/local/include/Teuchos_DefaultMpiComm.hpp: In instantiation of ‘Teuchos::RCP<Teuchos::Comm > Teuchos::MpiComm::split(int, int) const [with Ordinal = int]’: ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:302:1: required from here /usr/local/include/Teuchos_DefaultMpiComm.hpp:1673:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (newComm == MPI_COMM_NULL) { ^ /usr/local/include/Teuchos_DefaultMpiComm.hpp: In instantiation of ‘Teuchos::RCP<Teuchos::Comm > Teuchos::MpiComm::createSubcommunicator(const Teuchos::ArrayView&) const [with Ordinal = int]’: ~/Downloads/dealii/source/lac/trilinos_precondition_muelu.cc:302:1: required from here /usr/local/include/Teuchos_DefaultMpiComm.hpp:1741:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (newComm == MPI_COMM_NULL) {
I am using OpenMPI with gcc7.1.1, latest versions of dealII and trilinos.