#1655: problem compiling r.terraflow with g++ 4.7.0
--------------------------------------+-------------------------------------
Reporter: hamish | Owner: grass-dev@…
Type: defect | Status: new
Priority: critical | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: r.terraflow, libiostream | Platform: Linux
Cpu: x86-64 |
--------------------------------------+-------------------------------------
Hi,
for 6.4.2 on Debian/sid we're getting the following fail to builds:
{{{
Errors in:
/home/hamish/dev/grass/git/grass/lib/iostream
/home/hamish/dev/grass/git/grass/raster/r.terraflow
--
}}}
lib/iostream is fixed by backporting r50130.
r.terraflow still fails with a number of "'foo' was not declared in this
scope, and no declarations were found by argument-dependent lookup at the
point of instantiation [-fpermissive]":
{{{
.../raster/r.terraflow$ make
mkdir -p OBJ.x86_64-pc-linux-gnu/FLOAT
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT main.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/main.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from common.h:27,
from main.cc:39:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT common.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/common.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from common.h:27,
from common.cc:35:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT stats.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/stats.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from stats.h:29,
from stats.cc:30:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT fill.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/fill.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from fill.h:22,
from fill.cc:24:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT types.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/types.o
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT ccforest.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/ccforest.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from ccforest.h:27,
from ccforest.cc:19:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h:53:47: warning:
delegatinghamish@sid-amd64-vm:~/dev/grass/git/grass/raster/r.terraflow$
make
mkdir -p OBJ.x86_64-pc-linux-gnu/FLOAT
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT main.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/main.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from common.h:27,
from main.cc:39:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT common.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/common.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from common.h:27,
from common.cc:35:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT stats.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/stats.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from stats.h:29,
from stats.cc:30:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT fill.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/fill.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from fill.h:22,
from fill.cc:24:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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]
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT types.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/types.o
c++ -c -I/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-gnu/include
-g -O2 -DUSER=\"hamish\" -DNODATA_FIX -D_FILE_OFFSET_BITS=64
-DPACKAGE=\""grassmods"\" -DELEV_FLOAT ccforest.cc -o OBJ.x86_64-pc-linux-
gnu/FLOAT/ccforest.o
In file included from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_adaptive_impl.h:30:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:41,
from ccforest.h:27,
from ccforest.cc:19:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/empq_adaptive.h: In constructor
'EMPQueueAdaptive<T, Key>::EMPQueueAdaptive(long int)':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq.h:35:0,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/empq_impl.h:26,
from /home/hamish/dev/grass/git/grass/dist.x86_64-pc-
linux-gnu/include/grass/iostream/ami.h:39,
from ccforest.h:27,
from ccforest.cc:19:
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h: In instantiation of 'HeapIndex
MinMaxHeap<T>::fill(T*, HeapIndex) [with T = keyvalue<int>; HeapIndex =
unsigned int]':
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:747:5: note: declarations in
dependent base 'BasicMinMaxHeap<keyvalue<int> >' are not found by
unqualified lookup
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:747:5: note: use 'this->insert'
instead
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:780:2: note: declarations in
dependent base 'BasicMinMaxHeap<keyvalue<int> >' are not found by
unqualified lookup
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:780:2: note: use
'this->allocateHeap' instead
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-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/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:786:2: note: declarations in
dependent base 'BasicMinMaxHeap<keyvalue<int> >' are not found by
unqualified lookup
/home/hamish/dev/grass/git/grass/dist.x86_64-pc-linux-
gnu/include/grass/iostream/minmaxheap.h:786:2: note: use 'this->freeHeap'
instead
make: *** [OBJ.x86_64-pc-linux-gnu/FLOAT/ccforest.o] Error 1
}}}
?
* Debian's gcc 4.7.0-8
* Debian's eglibc 2.13-32
thanks,
Hamish
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1655>
GRASS GIS <http://grass.osgeo.org>