[Dune] matrixredisttest does not compile with dune 2.6.0

Bao Kai paeanball at gmail.com
Tue Sep 3 11:45:28 CEST 2019


g++ version is 8.4. Basically, it is the function
printGlobalSparseMatrix can not compile.


[ 50%] Building CXX object
dune/istl/test/CMakeFiles/matrixredisttest.dir/matrixredisttest.cc.o
In file included from /usr/include/c++/8/map:60,
                 from
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/repartition.hh:7,
                 from
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/matrixredistribute.hh:6,
                 from
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/test/matrixredisttest.cc:7:
/usr/include/c++/8/bits/stl_tree.h: In instantiation of ‘class
std::_Rb_tree<std::pair<Dune::bigunsignedint<56>,
Dune::FieldMatrix<double, 1, 1> >, std::pair<Dune::bigunsignedint<56>,
Dune::FieldMatrix<double, 1, 1> >,
std::_Identity<std::pair<Dune::bigunsignedint<56>,
Dune::FieldMatrix<double, 1, 1> > >, Dune::{anonymous}::CompPair,
std::allocator<std::pair<Dune::bigunsignedint<56>,
Dune::FieldMatrix<double, 1, 1> > > >’:
/usr/include/c++/8/bits/stl_set.h:133:17:   required from ‘class
std::set<std::pair<Dune::bigunsignedint<56>, Dune::FieldMatrix<double,
1, 1> >, Dune::{anonymous}::CompPair,
std::allocator<std::pair<Dune::bigunsignedint<56>,
Dune::FieldMatrix<double, 1, 1> > > >’
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/matrixutils.hh:196:57:
  required from ‘void Dune::printGlobalSparseMatrix(const M&, C&,
std::ostream&) [with M = Dune::BCRSMatrix<Dune::FieldMatrix<double, 1,
1>, std::allocator<Dune::FieldMatrix<double, 1, 1> > >; C =
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<56> >;
std::ostream = std::basic_ostream<char>]’
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/test/matrixredisttest.cc:78:26:
  required from ‘int testRepart(int, int) [with int BS = 1]’
/home/user/softwares/dunes/dune-2.6.0/dune-istl-2.6.0/dune/istl/test/matrixredisttest.cc:142:32:
  required from here
/usr/include/c++/8/bits/stl_tree.h:457:21: error: static assertion
failed: comparison object must be invocable as const
       static_assert(is_invocable_v<const _Compare&, const _Key&, const _Key&>,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




More information about the Dune mailing list