[Zlib-devel] zlib 1.2.3.2 available for testing

William A. Rowe, Jr. wrowe at rowe-clan.net
Tue Sep 5 13:47:03 EDT 2006


Lasse Collin wrote:
> Mark Adler wrote:
>> Second, I attempt to detect the need for defining
>> _LARGEFILE64_SOURCE and using off64_t.  We'll see how well (or not)
>> that all works.
> 
> So far many (most?) GNU/Linux distributions have built zlib without 
> large file support. Thus, when building zlib, z_off_t has been 32-bit 
> on 32-bit archs.

True.

> Some existing binaries compiled against non-largefile shared zlib depend 
> on z_off_t being 32-bit. Changing z_off_t to 64-bit changes the ABI of 
> zlib, thus all these applications need rebuilding. I think this should 
> be emphasized when releasing a stable version of zlib.

More to the point, this change is so major in terms of breaking user
expectations and binary compatibility that it would be better to release
as 1.3.0.  A very valuable change, but it does itroduce a number of issues
as Lasse points out.

> On 32-bit archs, gzseek() doesn't work in transparent mode with large 
> files when seeking past 2 GiB. Line 822 in gzio.c of zlib 1.2.3.2 calls 
> fseek(), which takes only 32-bit offset (type "long"). A solution would 
> be using fseeko() or fseeko64(), which take off_t or off64_t argument. 
> Maybe all fseek()s should be converted to fseeko()/fseeko64() and 
> ftell()s to ftello()/ftello64() when these functions are available.

+1 if not explicitly building to 32 bits.





More information about the Zlib-devel mailing list