Opened 14 years ago

Closed 12 years ago

#1106 closed task (fixed)

r.terraflow limited to 32bit temp files in WinGrass

Reported by: hamish Owned by: grass-dev@…
Priority: normal Milestone: 7.0.0
Component: Raster Version: svn-develbranch6
Keywords: wingrass, r.terraflow Cc:
CPU: x86-32 Platform: MSWindows XP

Description (last modified by hamish)

Hi,

moving this out of the noise of #1006 so we can close that one asap.

part of the work-around for the #1006 r.terraflow on WinGrass fix replaces stat() with ftell(), as stat() on Windows gives undefined results if the file is still open.

The ftell() solution is not 64bit safe though, so it awaits a backport of G_ftell() [or even better off_t G_filesize()] in some later release.

This does not affect the UNIX side of things, the ftell() is within a #ifdef.

Hamish

Change History (3)

comment:1 by hamish, 14 years ago

Description: modified (diff)

in reply to:  description ; comment:2 by mmetz, 14 years ago

Replying to hamish:

The ftell() solution is not 64bit safe though, so it awaits a backport of G_ftell() [or even better off_t G_filesize()] in some later release.

AFAICT this will only work if LFS is globally enabled/disabled in grass, as in grass7. The modifications done in grass7 are probably too fundamental to backport (not sure about libgis and the raster part, but for the vector part I had to change core functions in the vector libs).

BTW, the 2GB temp file limit also applies to various other modules (all vector modules, r.watershed.seg, r.cost, r.walk, r.drain, r.proj...)

Markus M

in reply to:  2 comment:3 by mmetz, 12 years ago

Milestone: 6.4.17.0.0
Resolution: fixed
Status: newclosed

Replying to mmetz:

Replying to hamish:

The ftell() solution is not 64bit safe though, so it awaits a backport of G_ftell() [or even better off_t G_filesize()] in some later release.

Why backport working solutions instead of releasing working solutions?

AFAICT this will only work if LFS is globally enabled/disabled in grass, as in grass7. The modifications done in grass7 are probably too fundamental to backport (not sure about libgis and the raster part, but for the vector part I had to change core functions in the vector libs).

That would require backporting core parts of trunk. This won't be fixed for GRASS 6 and has been fixed some time ago for GRASS 7.

Markus M

Note: See TracTickets for help on using tickets.