[Dune] [Dune-devel] Compilation Errors in Example From "Getting started with DUNE"

Carsten Gräser graeser at mi.fu-berlin.de
Thu Jun 30 15:49:24 CEST 2016


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: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20160630/e71af5b4/attachment.sig>


More information about the Dune mailing list