[GRASS-dev] build error against GCC 4.7
Angelos Tzotsos
gcpp.kalxas at gmail.com
Thu Sep 6 14:20:38 PDT 2012
Hi,
This patch was not the only one needed to build correctly under GCC4.7
I have created a new build based on the stable 6.4 svn tree which works
fine:
https://build.opensuse.org/package/show?package=grass&project=home%3Atzotsos%3AApplication%3AGeo
Any objections to use this pre 6.4.3 build? When approximately is the
6.4.3 release planned?
Thanks,
Angelos
On 09/06/2012 06:32 PM, Angelos Tzotsos wrote:
> On 09/06/2012 01:08 AM, Markus Neteler wrote:
>> On Wed, Sep 5, 2012 at 11:32 PM, Angelos Tzotsos
>> <gcpp.kalxas at gmail.com> wrote:
>>> Hi all,
>>>
>>> openSUSE 12.2 is out today and I am updating the GRASS package for it.
>> [it is the GRASS 6.4.2 version according to the log file]
>>
>>> There is an error during build with GCC 4.7 and I wanted to check here
>>> before I make a custom patch.
>>>
>>> https://build.opensuse.org/package/rawlog?arch=i586&package=grass&project=Application%3AGeo&repository=openSUSE_12.2
>>>
>>>
>>> The error:
>>>
>>> [ 664s] ami_stream.cc:46:1: warning: deprecated conversion from string
>>> constant to 'char*' [-Wwrite-strings]mm.cc: In function 'void*
>>> operator new
>>> [](size_t)':
>>> [ 664s] mm.cc:259:32: error: declaration of 'void* operator new
>>> [](size_t)'
>>> has a different exception specifier
>> This has been fixed for the upcoming 6.4.3:
>> http://trac.osgeo.org/grass/changeset/51638/grass/branches/releasebranch_6_4/lib/iostream/mm.cc
>>
>>
>>> Would someone like to provide a patch for this error?
>> See the fix in r51638.
>>
>> Markus
>>
> Hi,
>
> After applying the patch, I now get this failure:
>
> make[3]: Entering directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.digit'
> ../../include/Make/Module.make:25: warning: overriding recipe for
> target `install'
> ../../include/Make/Rules.make:90: warning: ignoring old recipe for
> target `install'
> make
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/man/man1/r.digit.1
> MANSRC=/home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/docs/html/r.digit.html
>
> make[4]: Entering directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.digit'
> ../../include/Make/Module.make:25: warning: overriding recipe for
> target `install'
> ../../include/Make/Rules.make:90: warning: ignoring old recipe for
> target `install'
> mkdir -p
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/man/man1
> GRASS_PERL=/usr/bin/perl VERSION_NUMBER=6.4.2 sh
> ../../tools/g.html2man/g.html2man
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/docs/html/r.digit.html
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/man/man1/r.digit.1
> 1
> Converting:
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/docs/html/r.digit.html
> to
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/man/man1/r.digit.1
> make[4]: Leaving directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.digit'
> make[3]: Leaving directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.digit'
> make[2]: Leaving directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.digit'
> c++ -c
> -I/home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include
> -g -O2 -DUSER=\"abuild\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
> -DPACKAGE=\""grassmods"\" -DELEV_FLOAT types.cc -o
> OBJ.x86_64-unknown-linux-gnu/FLOAT/types.o
> c++ -c
> -I/home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include
> -g -O2 -DUSER=\"abuild\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
> -DPACKAGE=\""grassmods"\" -DELEV_FLOAT ccforest.cc -o
> OBJ.x86_64-unknown-linux-gnu/FLOAT/ccforest.o
> In file included from
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
> from
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami.h:41,
> from ccforest.h:27,
> from ccforest.cc:19:
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_adaptive.h:
> In constructor 'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_adaptive.h:53:47:
> warning: delegating constructors only available with -std=c++11 or
> -std=gnu++11 [enabled by default]
> In file included from
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq.h:35:0,
> from
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_impl.h:26,
> from
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami.h:39,
> from ccforest.h:27,
> from ccforest.cc:19:
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:
> In instantiation of 'HeapIndex MinMaxHeap<T>::fill(T*, HeapIndex)
> [with T = keyvalue<int>; HeapIndex = unsigned int]':
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_impl.h:674:67:
> required from 'bool em_pqueue<T, Key>::min(T&) [with T =
> keyvalue<int>; Key = int]'
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/empq_adaptive_impl.h:237:2:
> required from 'bool EMPQueueAdaptive<T, Key>::min(T&) [with T =
> keyvalue<int>; Key = int]'
> ccforest.cc:164:4: required from 'void
> ccforest<T>::findAllRoots(int) [with T = int]'
> ccforest.cc:340:16: required from here
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:747:5:
> error: 'insert' was not declared in this scope, and no declarations
> were found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:747:5:
> note: declarations in dependent base 'BasicMinMaxHeap<keyvalue<int> >'
> are not found by unqualified lookup
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:747:5:
> note: use 'this->insert' instead
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:
> In instantiation of 'void UnboundedMinMaxHeap<T>::grow() [with T =
> keyvalue<int>]':
> ccforest.cc:340:38: required from here
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:780:2:
> error: 'allocateHeap' was not declared in this scope, and no
> declarations were found by argument-dependent lookup at the point of
> instantiation [-fpermissive]
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:780:2:
> note: declarations in dependent base 'BasicMinMaxHeap<keyvalue<int> >'
> are not found by unqualified lookup
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:780:2:
> note: use 'this->allocateHeap' instead
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:786:2:
> error: 'freeHeap' was not declared in this scope, and no declarations
> were found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:786:2:
> note: declarations in dependent base 'BasicMinMaxHeap<keyvalue<int> >'
> are not found by unqualified lookup
> /home/abuild/rpmbuild/BUILD/grass-6.4.2/dist.x86_64-unknown-linux-gnu/include/grass/iostream/minmaxheap.h:786:2:
> note: use 'this->freeHeap' instead
> make[2]: *** [OBJ.x86_64-unknown-linux-gnu/FLOAT/ccforest.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory
> `/home/abuild/rpmbuild/BUILD/grass-6.4.2/raster/r.terraflow'
>
> Perhaps this was fixed in another step?
>
> Is 6.4.3 close to a release? Perhaps I should wait for that?
>
> Cheers,
> Angelos
>
--
Angelos Tzotsos
Remote Sensing Laboratory
National Technical University of Athens
http://users.ntua.gr/tzotsos
More information about the grass-dev
mailing list