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