[GRASS-dev] build error against GCC 4.7
Angelos Tzotsos
gcpp.kalxas at gmail.com
Thu Sep 6 08:32:04 PDT 2012
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