[GRASSLIST:7373] Re: r.terraflow fails to build

Andrew Danner adanner at cs.duke.edu
Wed Jun 29 09:55:14 EDT 2005


Tom, 

 Move the patch file to the IOStream/include directory and then run

patch < r.terraflow.pat

 Larger patches are typically applied higher up in the source tree, but
this one was pretty local. If it still doesn't work, the patch is small
enough that you can make the edits manually.  In replacementHeap.h line
152, take out the second occurrence of <T, Compare> in the constructor,
before the "(size_t ..)". You need to do a similar thing for
replacementHeapBlock.h line 157.

-Andy

On Wed, 2005-06-29 at 09:19 -0400, Tom Colson wrote:
> How does one apply this (and other) patches? 
> 
> [root at localhost r.terraflow]# patch IOStream/include/replacementHeap.h
> r.terraflow.pat
> patching file IOStream/include/replacementHeap.h
> Hunk #1 FAILED at 152.
> 1 out of 1 hunk FAILED -- saving rejects to file
> IOStream/include/replacementHeap.h.rej
> can't find file to patch at input line 34
> Perhaps you should have used the -p or --strip option?
> The text leading up to this was:
> --------------------------
> |Index: IOStream/include/replacementHeapBlock.h
> |===================================================================
> |RCS
> file: /grassrepository/grass6/raster/r.terraflow/IOStream/include/replacementHeapBlock.h,v
> |retrieving revision 2.0
> |diff -u -r2.0 replacementHeapBlock.h
> |--- IOStream/include/replacementHeapBlock.h    9 Nov 2004 13:30:45
> -0000       2.0
> |+++ IOStream/include/replacementHeapBlock.h    15 Jun 2005 12:18:41
> -0000
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> grasslist at baylor.edu
> 
> 
> On Wed, 2005-06-29 at 15:40 +1200, Hamish wrote:
> > On Tue, 28 Jun 2005 15:42:06 -0400 (EDT)
> > "Thomas Colson" <tom_colson at ncsu.edu> wrote:
> > 
> > > latest from cvs:
> > > 
> > > [root at localhost r.terraflow]# make
> > > Makefile:78: warning: overriding commands for target `clean'
> > > ../../include/Make/Rules.make:35: warning: ignoring old commands for
> > > target `clean'
> > > mkdir -p OBJ.x86_64-unknown-linux-gnu/FLOAT ; true
> > > mkdir -p OBJ.x86_64-unknown-linux-gnu/SHORT ; true
> > > c++ -c -g -O2 -I./IOStream/include -DUSER=\"root\" -DNODATA_FIX
> > > -D_FILE_OFFSET_BITS= 64 -I/dls/grass/grass6/include -DELEV_FLOAT main.cc
> > > -o OBJ.x86_64-unknown-linux-gnu/ FLOAT/main.o
> > > ./IOStream/include/replacementHeap.h:155: error: invalid use of
> > > constructor as a tem plate
> > > ./IOStream/include/replacementHeap.h:155: note: use _ReplacementHeap<T,
> > > Compare>::Re placementHeap_ instead of _ReplacementHeap<T,
> > > Compare>::ReplacementHeap<T, Compare>_  to name the constructor in a
> > > qualified name
> > > ./IOStream/include/replacementHeapBlock.h:161: error: invalid use of
> > > constructor as a template
> > > ./IOStream/include/replacementHeapBlock.h:161: note: use
> > > _ReplacementHeapBlock<T, Co mpare>::ReplacementHeapBlock_ instead of
> > > _ReplacementHeapBlock<T, Compare>::Replacem entHeapBlock<T, Compare>_ to
> > > name the constructor in a qualified name
> > > make: *** [OBJ.x86_64-unknown-linux-gnu/FLOAT/main.o] Error 1
> > > 
> > > 
> > 
> > I see 64 bitness; is this GCC 4.0?
> > 
> > a patch was already posted:
> >   
> >   http://grass.itc.it/pipermail/grass5/2005-June/018638.html
> > 
> > 
> > 
> > 
> > Hamish




More information about the grass-user mailing list