Wireshark-dev: Re: [Wireshark-dev] SVN revision 36552 on Debian Lenny and gzopen64 function
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 11 Apr 2011 09:12:15 -0700
On Apr 11, 2011, at 5:28 AM, Pascal Quantin wrote:

> for the record, current trunk (revision 36552 as I'm speaking) does not compile on my Debian Lenny machine. I get the following error:
> cc1: warnings being treated as errors
> file_access.c: In function ‘wtap_dump_file_open’:
> file_access.c:1016: error: implicit declaration of function ‘gzopen64’
> file_access.c:1016: error: return makes pointer from integer without a cast
> make[2]: *** [libwiretap_la-file_access.lo] Error 1
> 
> After googling a little bit, I found the following suggestion that seems to work fine:
> CFLAGS="-D_LARGEFILE64_SOURCE" ./configure
> 
> I thought it could be useful to share the information with others.

Please make sure that "others" includes the zlib developers.  It's rude for a library to use a *64 function without defining and declaring that function if you define _FILE_OFFSET_BITS to be 64 but don't define _LARGEFILE64_SOURCE.  _LARGEFILE64_SOURCE is for use by applications that, for whatever reason, want to explicitly use the *64 routines; _FILE_OFFSET_BITS is for use by applications that want off_t to be 64-bit.

I'll look at getting rid of the use of the zlib gz* routines for output (just as we've done for input), so that we're not hosed by whatever bogosities particular versions of zlib have in their large file support.