Dear all,

I'm trying to compile the 9.5.1 version without MPI on Ubuntu 20.04 but I'm 
getting the following error:

/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc: In member 
function ‘void 
dealii::PETScWrappers::CommunicationPattern::export_to_ghosted_array_start(const
 
dealii::ArrayView<const ElementType>&, const 
dealii::ArrayView<ElementType>&) const’:
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:264:37: error: 
‘mpi_type_id_for_type’ is not a member of ‘dealii::Utilities::MPI’
  264 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;
      |                                     ^~~~~~~~~~~~~~~~~~~~
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:264:64: error: 
expected primary-expression before ‘>’ token
  264 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;
      |                                                                ^
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:264:65: error: 
expected primary-expression before ‘;’ token
  264 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;
      |                                                                 ^
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc: In member 
function ‘void 
dealii::PETScWrappers::CommunicationPattern::export_to_ghosted_array_finish(const
 
dealii::ArrayView<const ElementType>&, const 
dealii::ArrayView<ElementType>&) const’:
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:280:37: error: 
‘mpi_type_id_for_type’ is not a member of ‘dealii::Utilities::MPI’
  280 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;
      |                                     ^~~~~~~~~~~~~~~~~~~~
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:280:64: error: 
expected primary-expression before ‘>’ token
  280 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;
      |                                                                ^
/home/tom/p/dealii/source/lac/petsc_communication_pattern.cc:280:65: error: 
expected primary-expression before ‘;’ token
  280 |     auto datatype = Utilities::MPI::mpi_type_id_for_type<Number>;

and so on. 

mpi_type_id_for_type is defined in source/base/mpi.cc, but inside #ifdef 
... #endif:

#ifdef DEAL_II_WITH_MPI
    // Provide definitions of template variables for all valid 
instantiations.
    template const MPI_Datatype mpi_type_id_for_type<bool>;
    template const MPI_Datatype mpi_type_id_for_type<char>;
    template const MPI_Datatype mpi_type_id_for_type<signed char>;
    template const MPI_Datatype mpi_type_id_for_type<short>;
    template const MPI_Datatype mpi_type_id_for_type<int>;
    template const MPI_Datatype mpi_type_id_for_type<long int>;
    template const MPI_Datatype mpi_type_id_for_type<unsigned char>;
    template const MPI_Datatype mpi_type_id_for_type<unsigned short>;
    template const MPI_Datatype mpi_type_id_for_type<unsigned long int>;
    template const MPI_Datatype mpi_type_id_for_type<unsigned long long 
int>;
    template const MPI_Datatype mpi_type_id_for_type<float>;
    template const MPI_Datatype mpi_type_id_for_type<double>;
    template const MPI_Datatype mpi_type_id_for_type<long double>;
    template const MPI_Datatype mpi_type_id_for_type<std::complex<float>>;
    template const MPI_Datatype mpi_type_id_for_type<std::complex<double>>;
#endif

which should't be defined without MPI if I'm correct so the compilation 
error is about right.

Version 9.4.x compiles without problem.

Any advice please? Thanks

Tom

-- 
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 dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/b5b1160e-96df-443a-aaf9-7384b41e659dn%40googlegroups.com.

Reply via email to