[GRASS-dev] off_t question

Glynn Clements glynn at gclements.plus.com
Mon Apr 1 23:22:11 PDT 2013


Martin Landa wrote:

> 2013/4/1 Martin Landa <landa.martin at gmail.com>
> 
> [...]
> 
> > gcc -E sizes.c -D_FILE_OFFSET_BITS=64 | grep off_t
> > typedef __off64_t off_t;
> 
> the reason is that __off64_t is defined on my machine (shouldn't be
> long long int?) also as
> 
> typedef long int __off64_t;
> 
> So PRI_OFF_T in gis.h should be probably fixed.

What should be fixed is this part in Grass.make:

	# crude hack for vector LFS, LFS_FLAGS should be set by configure
	ifdef USE_LARGEFILES
	LFS_CFLAGS = -D_FILE_OFFSET_BITS=64
	endif

_FILE_OFFSET_BITS shouldn't be set on a system with a 64-bit "long".

The main problem is that the LFS tests were taken wholesale from
cdrtools and no-one understands them.

On the plus side, the warnings don't indicate a real problem. They
arise because C considers "long int" and "long long int" to be
distinct types even when they have the same size and representation.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list