[GRASS5] activated Large File Support LFS (default now)

Glynn Clements glynn at gclements.plus.com
Sat Apr 9 18:30:22 EDT 2005

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.

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.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list