[Dune] [Dune-devel] Compilation Errors in Example From "Getting started with DUNE"
Adrian G Maroni
agmaroni at gmail.com
Thu Jun 30 16:35:24 CEST 2016
Well, I'm sending it anyway. These are the errors I got:
[ 50%] Building CXX object
src/CMakeFiles/dune-poissonequation.dir/dune-poissonequation.cc.o
In file included from
/../DUNE_2.4.1/dune-examples/dune-poissonequation/src/dune-poissonequation.cc:26:0:
/usr/local/include/dune/functions/functionspacebases/interpolate.hh:
In instantiation of ‘void Dune::Functions::interpolate(const B&, const
TP&, C&&, const F&, const BV&) [with B =
Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>; TP = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>; BV =
Dune::Functions::Imp::AllTrueBitSetVector]’:
/usr/local/include/dune/functions/functionspacebases/interpolate.hh:322:15:
required from ‘void Dune::Functions::interpolate(const B&, const
TreePath&, C&&, const F&) [with B =
Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>; TreePath = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>]’
/../DUNE_2.4.1/dune-examples/dune-poissonequation/src/dune-poissonequation.cc:340:67:
required from here
/usr/local/include/dune/functions/functionspacebases/interpolate.hh:277:77:
error: no matching function for call to
‘makeDefaultNodeToRangeMap(const
Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>&, const Dune::BlockVector<Dune::FieldVector<double, 1> >&)’
interpolateTreeSubset(basis, treePath, coeff, f,
makeDefaultNodeToRangeMap(basis, treePath), bitVector);
^
/usr/local/include/dune/functions/functionspacebases/interpolate.hh:322:15:
required from ‘void Dune::Functions::interpolate(const B&, const
TreePath&, C&&, const F&) [with B =
Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>; TreePath = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>]’
/../DUNE_2.4.1/dune-examples/dune-poissonequation/src/dune-poissonequation.cc:340:67:
required from here
/usr/local/include/dune/functions/functionspacebases/defaultnodetorangemap.hh:106:56:
error: no matching function for call to ‘child(const Tree&, const
Dune::BlockVector<Dune::FieldVector<double, 1> >&)’
-> decltype(makeDefaultNodeToRangeMap(TypeTree::child(basis.localView().tree(),treePath)))
^
/usr/local/include/dune/functions/functionspacebases/interpolate.hh:322:15:
required from ‘void Dune::Functions::interpolate(const B&, const
TreePath&, C&&, const F&) [with B =
Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>; TreePath = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>]’
/../DUNE_2.4.1/dune-examples/dune-poissonequation/src/dune-poissonequation.cc:340:67:
required from here
/usr/local/include/dune/typetree/childextraction.hh:474:72: error: no
matching function for call to ‘child(const
Dune::Functions::PQkNode<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1, long unsigned
int, Dune::TypeTree::HybridTreePath<> >&,
Dune::BlockVector<Dune::FieldVector<double, 1> >&)’
auto child(Node&& node, Indices... indices) ->
decltype(impl::child(std::forward<Node>(node),indices...))
^
So the errors are actually three.
All the best,
Adrian
On Thu, Jun 30, 2016 at 10:49 AM, Carsten Gräser
<graeser at mi.fu-berlin.de> wrote:
> Hi Adrian,
> the error originates in a call to interpolate() in
> your application dune-poissonequation.cc. So in order
> to find out the problem it would be helpful to see
> this file. Furthermore knowing your compiler-version
> would be nice.
>
> @Oliver, Christian: I guess that this is related
> to the failing overload resolution of interpolate()
> that we have seen and already fixed in master.
> Did you port this to the 2.4 branch?
>
> Best,
> Carsten
>
> Am 30.06.2016 um 15:22 schrieb Oliver Sander:
>> This is a dune-functions problem. I need to pass this to somebody else.
>>
>> On 30.06.2016 14:48, Adrian G Maroni wrote:
>>> Thanks! Now UG 3.11.0 compiles and installs correctly with the dune
>>> directive. But I still get a long list of compilation errors with the
>>> Poisson example. The first error is:
>>>
>>>
>>> /usr/local/include/dune/functions/functionspacebases/interpolate.hh:
>>> In instantiation of ‘void Dune::Functions::interpolate(const B&, const
>>> TP&, C&&, const F&, const BV&) [with B =
>>> Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
>>> Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
>>> Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>>>> ; TP = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
>>> main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>; BV =
>>> Dune::Functions::Imp::AllTrueBitSetVector]’:
>>> /usr/local/include/dune/functions/functionspacebases/interpolate.hh:322:15:
>>> required from ‘void Dune::Functions::interpolate(const B&, const
>>> TreePath&, C&&, const F&) [with B =
>>> Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
>>> Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
>>> Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>>>> ; TreePath = Dune::BlockVector<Dune::FieldVector<double, 1> >; C =
>>> main(int, char**)::<lambda(auto:3)>&; F = std::vector<char>]’
>>> /home/ptr/Documents/Projects/ResearchProjects/DUNE/DUNE_2.4.1/dune-examples/dune-poissonequation/src/dune-poissonequation.cc:340:67:
>>> required from here
>>> /usr/local/include/dune/functions/functionspacebases/interpolate.hh:277:77:
>>> error: no matching function for call to
>>> ‘makeDefaultNodeToRangeMap(const
>>> Dune::Functions::DefaultGlobalBasis<Dune::Functions::PQkNodeFactory<Dune::GridView<Dune::UGGridLeafGridViewTraits<const
>>> Dune::UGGrid<2>, (Dune::PartitionIteratorType)4u> >, 1,
>>> Dune::Functions::FlatMultiIndex<long unsigned int>, long unsigned int>
>>>> &, const Dune::BlockVector<Dune::FieldVector<double, 1> >&)’
>>> interpolateTreeSubset(basis, treePath, coeff, f,
>>> makeDefaultNodeToRangeMap(basis, treePath), bitVector);
>>> ^
>>>
>>> Thanks!
>>>
>>> Regards,
>>>
>>> Adrian
>>>
>>>
>>>
>>>
>>> On Thu, Jun 30, 2016 at 9:20 AM, Oliver Sander
>>> <oliver.sander at tu-dresden.de> wrote:
>>>> Older UG versions like 3.11 are still C, but they need to be compiled as C++ when
>>>> building for Dune. This is not mentioned on the homepage anymore, because later
>>>> releases of UG build as C++ automatically. Therefore, please either switch to
>>>> UG-3.12.1 (UG-3.13 will not work for different reasons), or force you toolchain
>>>> to build as C++ by saying
>>>>
>>>> ./configure CC=g++ --enable-dune
>>>>
>>>> Best,
>>>> Oliver
>>>>
>>>>
>>>> On 30.06.2016 14:13, Adrian G Maroni wrote:
>>>>> Hey, Oliver,
>>>>> A compilation error caused when building UG 3.11.0
>>>>> with --enable-dune:
>>>>>
>>>>> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../low
>>>>> -I../../gm -I../../dev -I../../dom -I../../np -I../../ui
>>>>> -I../../graphics/uggraph -I../../np/algebra -I../../np/udm
>>>>> -I../../np/procs -I../../parallel -I../../parallel/ddd
>>>>> -I../../parallel/ppif -I../../parallel/ddd/include
>>>>> -I../../parallel/dddif -I../../parallel/util -DUGLIB -DFOR_DUNE -D_2
>>>>> -g -O2 -MT libgg2_la-ggmain.lo -MD -MP -MF .deps/libgg2_la-ggmain.Tpo
>>>>> -c ggmain.c -o libgg2_la-ggmain.o
>>>>> In file included from ggmain.c:61:0:
>>>>> ../../gm/refine.h:272:49: error: expected ';', ',' or ')' before '=' token
>>>>> , INT useRefineClass=0
>>>>> ^
>>>>> Makefile:415: recipe for target 'libgg2_la-ggmain.lo' failed
>>>>>
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Adrian
>>>>>
>>>>> On Thu, Jun 30, 2016 at 9:02 AM, Oliver Sander
>>>>> <oliver.sander at tu-dresden.de> wrote:
>>>>>>
>>>>>>
>>>>>> On 30.06.2016 14:01, Adrian G Maroni wrote:
>>>>>>> Hi Dominic,
>>>>>>> I answered "yes", indeed. I have UG version 3.11.0,
>>>>>>> but I was forced to build it without --enable-dune directive. I was
>>>>>>
>>>>>> You absolutely need --enable-dune. What forced you to build without it?
>>>>>>
>>>>>>> unable to build version 3.13.0 in any way. Could that be a possible
>>>>>>> reason? Which UG version is minimally needed? TNX
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Adrian
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dune-poissonequation.cc
Type: text/x-c++src
Size: 14930 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20160630/f80300c0/attachment.cc>
More information about the Dune
mailing list