Hi folks,

I'm trying to use the block_operator technique on Trilinos vectors and 
matrices, but I can't quite get it to compile. For simplicity, the relevant 
lines of code are:
```
#include <deal.II/lac/linear_operator_tools.h>
#include <deal.II/lac/trilinos_linear_operator.h>

using vec = dealii::LinearAlgebraTrilinos::MPI::Vector;
using block_vec = dealii::LinearAlgebraTrilinos::MPI::BlockVector;
const auto B = dealii::TrilinosWrappers::linear_operator<vec, 
vec>(system_matrix.block(0, 0));
const auto P_inv = dealii::TrilinosWrappers::block_operator<1, 1, 
block_vec>({B});
```
where system_matrix is of type 
`dealii::LinearAlgebraTrilinos::MPI::BlockSparseMatrix`.

The first error that comes up looks like:

`deal.II/lac/block_linear_operator.h:679:37: error: 
‘populate_linear_operator_functions’ was not declared in this scope; did 
you mean 
‘dealii::internal::BlockLinearOperatorImplementation::populate_linear_operator_functions’?`

Is this a bug in deal.II? That would be my first inclination, given that I 
cannot see how it would be template-related.

There are a few other errors that come up, so I'm attaching the error 
message in a text file. 

Any tips on debugging this? I'm finding the compiler output basically 
inscrutable. Any help is appreciated, so sorry for all the spam!

- Lucas

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/8a6be404-f323-4edc-9720-fe603c92dfe6n%40googlegroups.com.
In file included from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/linear_operator_tools.h:25,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:35:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:
 In instantiation of ‘dealii::BlockLinearOperator<Range, Domain, BlockPayload> 
dealii::block_operator(const 
std::array<std::array<dealii::LinearOperator<typename Range::BlockType, 
typename Domain::BlockType, typename BlockPayload::BlockType>, n>, m>&) [with 
long unsigned int m = 1; long unsigned int n = 1; Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>;
 typename BlockPayload::BlockType = 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload;
 typename Domain::BlockType = dealii::TrilinosWrappers::MPI::Vector; typename 
Range::BlockType = dealii::TrilinosWrappers::MPI::Vector]’:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_linear_operator.h:228:69:
   required from ‘dealii::BlockLinearOperator<Range, Domain, 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>
 > dealii::TrilinosWrappers::block_operator(const 
std::array<std::array<dealii::LinearOperator<typename Range::BlockType, 
typename Domain::BlockType, 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>,
 n>, m>&) [with long unsigned int m = 1; long unsigned int n = 1; Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; typename Domain::BlockType = 
dealii::TrilinosWrappers::MPI::Vector; typename Range::BlockType = 
dealii::TrilinosWrappers::MPI::Vector]’
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:574:40:
   required from ‘void PhaseFieldCrystalSystemMPI<dim>::solve_and_update() 
[with int dim = 2]’
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:693:16:
   required from here
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:679:37:
 error: ‘populate_linear_operator_functions’ was not declared in this scope; 
did you mean 
‘dealii::internal::BlockLinearOperatorImplementation::populate_linear_operator_functions’?
  679 |   populate_linear_operator_functions(return_op);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
      |   
dealii::internal::BlockLinearOperatorImplementation::populate_linear_operator_functions
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:359:5:
 note: 
‘dealii::internal::BlockLinearOperatorImplementation::populate_linear_operator_functions’
 declared here
  359 |     populate_linear_operator_functions(
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:
 In instantiation of ‘dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]’:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:666:52:
   required from ‘dealii::BlockLinearOperator<Range, Domain, BlockPayload> 
dealii::block_operator(const 
std::array<std::array<dealii::LinearOperator<typename Range::BlockType, 
typename Domain::BlockType, typename BlockPayload::BlockType>, n>, m>&) [with 
long unsigned int m = 1; long unsigned int n = 1; Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>;
 typename BlockPayload::BlockType = 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload;
 typename Domain::BlockType = dealii::TrilinosWrappers::MPI::Vector; typename 
Range::BlockType = dealii::TrilinosWrappers::MPI::Vector]’
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_linear_operator.h:228:69:
   required from ‘dealii::BlockLinearOperator<Range, Domain, 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>
 > dealii::TrilinosWrappers::block_operator(const 
std::array<std::array<dealii::LinearOperator<typename Range::BlockType, 
typename Domain::BlockType, 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>,
 n>, m>&) [with long unsigned int m = 1; long unsigned int n = 1; Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; typename Domain::BlockType = 
dealii::TrilinosWrappers::MPI::Vector; typename Range::BlockType = 
dealii::TrilinosWrappers::MPI::Vector]’
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:574:40:
   required from ‘void PhaseFieldCrystalSystemMPI<dim>::solve_and_update() 
[with int dim = 2]’
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:693:16:
   required from here
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:183:32:
 error: no matching function for call to 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>&,
 const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>&)’
  183 |         typename BlockPayload::BlockType(payload, payload))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_block_sparse_matrix.h:30,
                 from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/generic_linear_algebra.h:165,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.hpp:19,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:1:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2420:9:
 note: candidate: ‘template<class EpetraOpType> 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(EpetraOpType&,
 bool, bool, ompi_communicator_t* const&, const dealii::IndexSet&, const 
dealii::IndexSet&)’
 2420 |         TrilinosPayload(EpetraOpType &  op,
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2420:9:
 note:   template argument deduction/substitution failed:
In file included from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/linear_operator_tools.h:25,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:35:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/block_linear_operator.h:183:32:
 note:   candidate expects 6 arguments, 2 provided
  183 |         typename BlockPayload::BlockType(payload, payload))
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_block_sparse_matrix.h:30,
                 from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/generic_linear_algebra.h:165,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.hpp:19,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:1:
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2142:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&,
 const 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&)’
 2142 |         TrilinosPayload(const TrilinosPayload &first_op,
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2142:48:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&’
 2142 |         TrilinosPayload(const TrilinosPayload &first_op,
      |                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2133:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&)’
 2133 |         TrilinosPayload(const TrilinosPayload &payload);
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2133:9:
 note:   candidate expects 1 argument, 2 provided
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2126:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&,
 const dealii::TrilinosWrappers::PreconditionBase&)’
 2126 |         TrilinosPayload(
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2127:53:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&’
 2127 |           const TrilinosPayload &                   payload_exemplar,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2119:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 dealii::TrilinosWrappers::PreconditionBase&, const 
dealii::TrilinosWrappers::PreconditionBase&)’
 2119 |         TrilinosPayload(
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2120:53:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const dealii::TrilinosWrappers::PreconditionBase&’
 2120 |           const TrilinosWrappers::PreconditionBase 
&preconditioner_exemplar,
      |           
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2112:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 dealii::TrilinosWrappers::SparseMatrix&, const 
dealii::TrilinosWrappers::PreconditionBase&)’
 2112 |         TrilinosPayload(
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2113:53:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const dealii::TrilinosWrappers::SparseMatrix&’
 2113 |           const TrilinosWrappers::SparseMatrix &    matrix_exemplar,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2106:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&,
 const dealii::TrilinosWrappers::SparseMatrix&)’
 2106 |         TrilinosPayload(const TrilinosPayload &               
payload_exemplar,
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2106:63:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload&’
 2106 |         TrilinosPayload(const TrilinosPayload &               
payload_exemplar,
      |                         
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2100:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload(const
 dealii::TrilinosWrappers::SparseMatrix&, const 
dealii::TrilinosWrappers::SparseMatrix&)’
 2100 |         TrilinosPayload(const TrilinosWrappers::SparseMatrix 
&matrix_exemplar,
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2100:63:
 note:   no known conversion for argument 1 from ‘const 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>’
 to ‘const dealii::TrilinosWrappers::SparseMatrix&’
 2100 |         TrilinosPayload(const TrilinosWrappers::SparseMatrix 
&matrix_exemplar,
      |                         
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2095:9:
 note: candidate: 
‘dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload::TrilinosPayload()’
 2095 |         TrilinosPayload();
      |         ^~~~~~~~~~~~~~~
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/lac/trilinos_sparse_matrix.h:2095:9:
 note:   candidate expects 0 arguments, 2 provided
In file included from /usr/include/c++/9/functional:59,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/impl/Kokkos_HostSharedPtr.hpp:52,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/Kokkos_Serial.hpp:70,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/decl/Kokkos_Declare_SERIAL.hpp:49,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/KokkosCore_Config_DeclareBackend.hpp:47,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/Kokkos_Core.hpp:56,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/KokkosExp_View_Fad.hpp:122,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/Sacado_Fad_Exp_GeneralFadTraits.hpp:218,
                 from 
/home/lucas/Application-Data/Trilinos/install/include/Sacado.hpp:52,
                 from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/base/numbers.h:146,
                 from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/base/config.h:544,
                 from 
/home/lucas/Application-Data/dealii/install/dealii-9.4/include/deal.II/base/mpi.h:19,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.hpp:4,
                 from 
/home/lucas/Documents/research/phase-field-crystals/src/phase_field_crystal_systems/phase_field_crystal_system_mpi.cpp:1:
/usr/include/c++/9/bits/std_function.h:523:2: error: 
‘std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes 
...)>::_Callable<typename std::decay<_Functor>::type>, 
std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes 
...)>::operator=(_Functor&&) [with _Functor = 
dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda()>;
 _Res = unsigned int; _ArgTypes = {}; std::function<_Res(_ArgTypes 
...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename 
std::decay<_Functor>::type>, std::function<_Res(_ArgTypes ...)>&> = 
std::function<unsigned int()>&]’, declared using local type 
‘dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda()>’,
 is used but never defined [-fpermissive]
  523 |  operator=(_Functor&& __f)
      |  ^~~~~~~~
/usr/include/c++/9/bits/std_function.h:523:2: error: 
‘std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes 
...)>::_Callable<typename std::decay<_Functor>::type>, 
std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes 
...)>::operator=(_Functor&&) [with _Functor = 
dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda()>;
 _Res = unsigned int; _ArgTypes = {}; std::function<_Res(_ArgTypes 
...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename 
std::decay<_Functor>::type>, std::function<_Res(_ArgTypes ...)>&> = 
std::function<unsigned int()>&]’, declared using local type 
‘dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda()>’,
 is used but never defined [-fpermissive]
/usr/include/c++/9/bits/std_function.h:523:2: error: 
‘std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes 
...)>::_Callable<typename std::decay<_Functor>::type>, 
std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes 
...)>::operator=(_Functor&&) [with _Functor = 
dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda(unsigned
 int, unsigned int)>; _Res = 
dealii::LinearOperator<dealii::TrilinosWrappers::MPI::Vector, 
dealii::TrilinosWrappers::MPI::Vector, 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>;
 _ArgTypes = {unsigned int, unsigned int}; std::function<_Res(_ArgTypes 
...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename 
std::decay<_Functor>::type>, std::function<_Res(_ArgTypes ...)>&> = 
std::function<dealii::LinearOperator<dealii::TrilinosWrappers::MPI::Vector, 
dealii::TrilinosWrappers::MPI::Vector, 
dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>(unsigned
 int, unsigned int)>&]’, declared using local type 
‘dealii::BlockLinearOperator<Range, Domain, 
BlockPayload>::BlockLinearOperator(const BlockPayload&) [with Range = 
dealii::TrilinosWrappers::MPI::BlockVector; Domain = 
dealii::TrilinosWrappers::MPI::BlockVector; BlockPayload = 
dealii::TrilinosWrappers::internal::BlockLinearOperatorImplementation::TrilinosBlockPayload<dealii::TrilinosWrappers::internal::LinearOperatorImplementation::TrilinosPayload>]::<lambda(unsigned
 int, unsigned int)>’, is used but never defined [-fpermissive]
make[2]: *** 
[src/phase_field_crystal_systems/CMakeFiles/PhaseFieldCrystalSystemMPI.dir/build.make:76:
 
src/phase_field_crystal_systems/CMakeFiles/PhaseFieldCrystalSystemMPI.dir/phase_field_crystal_system_mpi.cpp.o]
 Error 1
make[1]: *** [CMakeFiles/Makefile2:256: 
src/phase_field_crystal_systems/CMakeFiles/PhaseFieldCrystalSystemMPI.dir/all] 
Error 2
make: *** [Makefile:136: all] Error 2

Reply via email to