Markus Metz wrote: > > d.vect, etc use the libraries and VECT_CFLAGS, so it isn't just v.* > > modules which need to be checked. It might just be v.* modules which > > need to be fixed; I don't know. > > OK. I will check all modules including <grass/vector.h> or any of the > headers in include/vect. All vector modules should be fixed by now. Of > the raster modules, only r.drain needed fixing, all other were ok. But I > will check again.
I suggest checking for VECT_CFLAGS in the Makefiles. If that is used for compilation, <stdio.h> will use the LFS functions (fopen64 etc), so the code needs to handle files >2GiB regardless of how (or if) it uses the vector libraries. > > ideally, we should use G_{fseek,ftell} everywhere. Ultimately, it > > would be better to enable -D_FILE_OFFSET_BITS=64 globally (to ensure > > that there aren't any cases where a FILE* is obtained via fopen64() > > then passed to code which can't handle it), which means making > > everything LFS-aware. > > That's beyond my scope because aclocal.m4 and configure.in need > adjustment, and I won't touch these. I guess you are suitably qualified > for the task ;-) The build system changes are straigtforward; just set _FILE_OFFSET_BITS in config.h (this is already done, but it's conditional upon USE_LARGEFILES, which doesn't get set). The effort is in ensuring that code doesn't fail in inconvenient ways (i.e. corrupting data) when dealing with files >2GiB, i.e. converting everything to use off_t. -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev