[dune-functions] More build failures

Christian Engwer christian.engwer at uni-muenster.de
Fri Sep 18 00:18:58 CEST 2015


Sorry, but for me dune-functions already fails in poisson-pq2.cc

The error is in typetree:
In file included from /home/christi/Uni/Dune/functions/examples/poisson-pq2.cc:22:
In file included from /home/christi/Uni/Dune/functions/dune/functions/functionspacebases/interpolate.hh:12:
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:578:51: error: no matching function for call to 'child'
        using type = typename std::decay<decltype(child(std::declval<Node>(),std::declval<TreePath>()))>::type;
		                                                  ^~~~~
[...]
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:390:12: note: candidate template ignored: could not match 'integral_constant' against 'HybridTreePath'
      auto child(Node&& node, index_constant<i>, J... j) ->
           ^
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:422:12: note: candidate template ignored: substitution failure [with Node = Dune::Functions::PQkNode<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, 2, unsigned long, Dune::TypeTree::HybridTreePath<> >, J = <>]: no member named 'type' in 'std::enable_if<false, Dune::TypeTree::impl::_lazy_dynamic_decltype<Dune::Functions::PQkNode<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, 2, unsigned long, Dune::TypeTree::HybridTreePath<> > > >'
      auto child(Node&& node, std::size_t i, J... j) ->
           ^
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:539:10: note: candidate template ignored: substitution failure [with Node = Dune::Functions::PQkNode<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, 2, unsigned long, Dune::TypeTree::HybridTreePath<> >, Indices = <>]: no matching function for call to 'child'
    auto child(Node&& node, HybridTreePath<Indices...> tp) -> decltype(impl::child(std::forward<Node>(node),tp,tp.enumerate()))
         ^                                                             ~~~~
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:504:10: note: candidate template ignored: could not match 'TreePath' against 'HybridTreePath'
    auto child(Node&& node, TreePath<Indices...>) -> decltype(child(std::forward<Node>(node),index_constant<Indices>()...))
         ^
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:474:10: note: candidate template ignored: substitution failure [with Node = Dune::Functions::PQkNode<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, 2, unsigned long, Dune::TypeTree::HybridTreePath<> >, Indices = <Dune::TypeTree::HybridTreePath<>>]: no matching function for call to 'child'
    auto child(Node&& node, Indices... indices) -> decltype(impl::child(std::forward<Node>(node),indices...))
         ^                                                  ~~~~
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:351:12: note: candidate function template not viable: requires single argument 'node', but 2 arguments were provided
      auto child(Node&& node) -> decltype(std::forward<Node>(node))
           ^
/home/christi/Uni/Dune/typetree/dune/typetree/childextraction.hh:437:12: note: candidate function template not viable: requires 3 arguments, but 2 were provided
      auto child(Node&& node, HybridTreePath<Indices...> tp, Std::index_sequence<i...>) -> decltype(child(std::forward<Node>(node),treePathEntry<i>(tp)...))
           ^

I'm using clang-3.4, but the error comes also with 3.5 and 3.7

Going back to ec42a64 fixed some of the problems, but I still get
errors concerning the makeDefaultNodeToRangeMap.

Ciao
Christian

On Thu, Sep 17, 2015 at 02:33:51PM +0200, Oliver Sander wrote:
> Hi guys,
> > I suppose it's not a 'still', but an 'again'. The example did build
> > again after Steffens fixes. But after updating typetree it again failed.
> > For the moment try going back to rev a709073 of typetree. This worked
> > for me.
> stokes-taylorhood builds again, but I get valgrind warnings *if* I build with -O2.
> (I use "-g -O2 -Wall", to be exact).  Leaving out the -O2 makes the warnings go
> away.  The warnings are caused by the interpolateTreeSubset method shortly
> after line 300.  Before, the rhs variable contains only zeros.  After the call,
> it contains initialized values (supposedly) for all boundary dofs.  Can anybody
> reproduce this?
> Thanks,
> Oliver
> 
> >
> > @Steffen: Maybe it helps that the breakage has happened after a709073.
> >
> > Best,
> > Carsten
> >
> >> Here is what clang has to say.  Any help would be appreciated.
> >> Best,
> >> Oliver
> >>
> >> /home/sander/dune/dune-functions/examples/stokes-taylorhood.cc:241:35: warning: suggest braces around initialization of subobject [-Wmissing-braces]
> >>   std::array<int,dim> elements = {4, 4};
> >>                                   ^~~~
> >>                                   {   }
> >> In file included from /home/sander/dune/dune-functions/examples/stokes-taylorhood.cc:22:
> >> In file included from /home/sander/dune/dune-functions/dune/functions/functionspacebases/pqknodalbasis.hh:14:
> >> In file included from /home/sander/dune/dune-functions/dune/functions/functionspacebases/gridviewfunctionspacebasis.hh:7:
> >> In file included from /home/sander/dune/dune-functions/dune/functions/functionspacebases/nodes.hh:6:
> >> /home/sander/dune/dune-typetree/dune/typetree/compositenode.hh:195:43: error: no matching function for call to 'treePathSize'
> >>         static_assert(sizeof...(I) > 0 || treePathSize(i0) > 0,
> >>                                           ^~~~~~~~~~~~
> >> /home/sander/dune/dune-functions/dune/functions/functionspacebases/taylorhoodbasis.hh:232:32: note: in instantiation of function template specialization
> >> 'Dune::TypeTree::CompositeNode<Dune::Functions::TaylorHoodVelocityTree<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, unsigned
> >> long, Dune::TypeTree::HybridTreePath<std::integral_constant<unsigned long, 0> > >, Dune::Functions::PQkNode<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2,
> >> Dune::EquidistantCoordinates<double, 2> >, 4> >, 1, unsigned long, Dune::TypeTree::HybridTreePath<std::integral_constant<unsigned long, 1> > > >::child<std::integral_constant<unsigned long, 0>, int>'
> >> requested here
> >>     pq2NodeIndexSet_.bind(node.child(_0, 0));
> >>                                ^
> >> /home/sander/dune/dune-functions/dune/functions/functionspacebases/defaultlocalindexset.hh:41:19: note: in instantiation of member function
> >> 'Dune::Functions::TaylorHoodNodeIndexSet<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, std::array<unsigned long, 2>,
> >> Dune::TypeTree::HybridTreePath<>, unsigned long>::bind' requested here
> >>     nodeIndexSet_.bind(localView_->tree());
> >>                   ^
> >> /home/sander/dune/dune-functions/examples/stokes-taylorhood.cc:199:19: note: in instantiation of member function
> >> 'Dune::Functions::DefaultLocalIndexSet<Dune::Functions::DefaultLocalView<Dune::Functions::DefaultGlobalBasis<Dune::Functions::TaylorHoodNodeFactory<Dune::GridView<Dune::DefaultLeafGridViewTraits<const
> >> Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, std::array<unsigned long, 2>, unsigned long> > >,
> >> Dune::Functions::TaylorHoodNodeIndexSet<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2, Dune::EquidistantCoordinates<double, 2> >, 4> >, std::array<unsigned long, 2>,
> >> Dune::TypeTree::HybridTreePath<>, unsigned long> >::bind' requested here
> >>     localIndexSet.bind(localView);
> >>                   ^
> >> /home/sander/dune/dune-functions/examples/stokes-taylorhood.cc:277:3: note: in instantiation of function template specialization
> >> 'assembleStokesProblem<Dune::Functions::DefaultGlobalBasis<Dune::Functions::TaylorHoodNodeFactory<Dune::GridView<Dune::DefaultLeafGridViewTraits<const Dune::YaspGrid<2,
> >> Dune::EquidistantCoordinates<double, 2> >, 4> >, std::array<unsigned long, 2>, unsigned long> > >' requested here
> >>   assembleStokesProblem(taylorHoodBasis, stiffnessMatrix);
> >>   ^
> >> /home/sander/dune/dune-typetree/dune/typetree/treepath.hh:45:27: note: candidate template ignored: could not match 'TreePath' against 'integral_constant'
> >>     constexpr std::size_t treePathSize(const TreePath<i...>&)
> >>                           ^
> >> /home/sander/dune/dune-typetree/dune/typetree/treepath.hh:372:27: note: candidate template ignored: could not match 'HybridTreePath' against 'integral_constant'
> >>     constexpr std::size_t treePathSize(const HybridTreePath<T...>&)
> >>                           ^
> >> /home/sander/dune/dune-functions/examples/stokes-taylorhood.cc:47:55: error: no matching member function for call to 'child'
> >>   auto& velocityLocalFiniteElement = localView.tree().child(_0,0).finiteElement();
> >>
> >>
> >> _______________________________________________
> >> dune-functions mailing list
> >> dune-functions at dune-project.org
> >> http://lists.dune-project.org/mailman/listinfo/dune-functions
> >>
> >
> 
> 
> _______________________________________________
> dune-functions mailing list
> dune-functions at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-functions
> 

-- 
Prof. Dr. Christian Engwer 
Institut für Numerische und Angewandte Mathematik
Fachbereich Mathematik und Informatik der Universität Münster
Einsteinstrasse 62
48149 Münster

E-Mail  christian.engwer at uni-muenster.de
Telefon +49 251 83-35067
FAX     +49 251 83-32729




More information about the dune-functions mailing list