[GRASS5] activated Large File Support LFS (default now)
neteler at itc.it
Mon Apr 11 04:43:36 EDT 2005
On Sat, Apr 09, 2005 at 11:30:22PM +0100, Glynn Clements wrote:
> Markus Neteler wrote:
> > > > I have submitted changes to 6.1-CVS:
> > > > A couple of tests have been added to configure and friends
> > > > for Large File Support (default now). LFS is needed
> > > > to read/write/manage large raster files. The magic compiler
> > > > flag is activated automatically now in lib/gis/Makefile.
> > > >
> > > > ./configure ...
> > > > should report
> > > > Large File Support (LFS): yes
> > > > is your system supports it. Otherwise it will be
> > > > automatically disabled.
> > > >
> > > > Of course there is a flag:
> > > > ./configure --help 2>&1 |grep large
> > > > --disable-largefile omit support for large files
> > >
> > > I don't know why I didn't comment on this at the time, but the sense
> > > is wrong. Given that most of GRASS can't handle large files, it should
> > > default to disabled.
> > OK for me.
> > But:
> > - no problems reported so far (AFAIK)
> Very few people have tried to use such large maps. Of those who have,
> I would only expect a small number of modules to have been tried.
> > - if disabled by default we'll hardly discover where further
> > fixes are missing (as nobody will use it)
> The nature of the problems caused by enabling large files in code
> which can't handle them is such that it will typically take some
> investigation to determine that the problem is due to large file
> In the worst case, the user will silently get bad data without being
> aware that anything has gone wrong.
OK (I thought that it always print an error message).
> To get an idea of which files will have problems with large files,
> locate anything which uses lseek, fseek or ftell (either with grep, or
> use tools/sql.sh and query the import tables for those symbols).
> Also, one conseqence of enabling large file support is that a raster
> may have more than 2^31 cells in total. Code which counts cells (e.g.
> r.statistics) will need to use "long long int" to handle that case.
In the long run it would be nice to have GRASS code polished.
For now I have inverted the flag. To enable LFS, run
./configure --enable-largefile ...
More information about the grass-dev