[GRASSLIST:7375] Re: r.terraflow fails to build
hamish_nospam at yahoo.com
Wed Jun 29 10:11:32 EDT 2005
> > > [root at localhost r.terraflow]# make
As a general rule it's probably a bad idea to run "make" as root..
if something goes nuts during the build process you can do all sorts of
damage. Only need to be root for "make install".
> > > ./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
> > I see 64 bitness; is this GCC 4.0?
> > a patch was already posted:
> > http://grass.itc.it/pipermail/grass5/2005-June/018638.html
> How does one apply this (and other) patches?
> [root at localhost r.terraflow]# patch IOStream/include/replacementHeap.h
> patching file IOStream/include/replacementHeap.h
> Hunk #1 FAILED at 152.
> 1 out of 1 hunk FAILED -- saving rejects to file
> 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:
If it is small and you are an accurate type, just make the change by
hand in a text editor. Negative lines are what's removed, positive
is what needs to be added.
You need to get the -p level correct. Study the "patch" man page or if
you are an experimentalist just try -p levels 0-5 and see if one works.
patch -p0 < r.terraflow.patch
It gets the files to patch from inside the patch itself so you only have
to pipe in the "from" diff file.
bonus hint 1:
You make patches with the "diff -u" command, e.g.:
diff -u oldfile.txt newfile.txt > patch.diff
or if it's from a CVS snapshot & you've already logged in (anonymously),
cvs diff changed_file.txt > patch.diff
bonus hint 2:
make a ~/.cvsrc file containing the following:
This will take care of adding the -u when you do a cvs diff and other
More information about the grass-user