Wireshark-dev: Re: [Wireshark-dev] SVN revision 36552 on Debian Lenny and gzopen64 function
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.