This may be because you don't have rights to /var/tmp, or maybe the
directory /var/tmp/mlenert does not exist.
To change this location, you do not need to change main.cc. Instead
use option
VTMPDIR Location of intermediate STREAMs
default: /var/tmp/username
I tried r.terracost .......VTMPDIR=.
and it put the intermediate streams in the current folder.
The other potential problem is the location of the temporary streams.
The default is /var/tmp/, but the user can set it with option
STREAM_DIR Location of temporary STREAMs
default: /var/tmp
Even though main.cc explicitly executes a setenv, it did not work
for me. I had to explicitly run from the shell:
export STREAM_DIR=/var/tmp/
-Laura
On Jul 15, 2009, at 12:49 PM, Moritz Lennert wrote:
On 15/07/09 15:40, Laura Toma wrote:
Hi Moritz,
Terracost runs in two modes: in memory (when numtiles=1), and in
external memory, using streams (when numtiles>1). When run
without a value for numtiles, it sets numtiles to the optimal
value. In all your tests numtiles was set to 1. The algorithms in
the 2 cases are different, so you also need to test with numtiles>1.
Trying to run with numtiles>1, I get:
TileFactory: Sorting internalstr...
file=/var/tmp/mlennert/terracost.tileStr:cannot read!: Bad address
r.terracost: /home/mlennert/SRC/GRASS/grass64_release/dist.i486-pc-
linux-gnu/include/grass/iostream/ami_sort_impl.h:91: size_t
makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T =
ijCostType<costSourceType>, Compare = ijTileCostCompareType]:
Assertion `err == AMI_ERROR_NO_ERROR || err ==
AMI_ERROR_END_OF_STREAM' failed.
Aborted
And the same, if I change all occurrences of /var/tmp in main.cc to /
tmp
Moritz
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev