[Zlib-devel] zlib 1.2.7.1

Juergen Daubert juergen.daubert at gmx.net
Sun Apr 14 06:07:45 EDT 2013


On Sun, Apr 14, 2013 at 10:58:10AM +0200, Juergen Daubert wrote:
> On Sat, Apr 13, 2013 at 07:29:02PM -0700, Mark Adler wrote:
> > On Apr 3, 2013, at 8:36 AM, Juergen Daubert <juergen.daubert at gmx.net> wrote:
> > > found the following issue while building firefox version 20 and version
> > > 19.0.2 from sources, works with zlib 1.2.7 without issues:
> > 
> > Juergen,
> > 
> > I can't tell from your report what in zlib was even being used.  Can you dig into it a little to see why the warning/error was occurring?  Thanks.
> 
> Will try, even though I'm not a programmer ;)
> 
> The problem was introduced with your commit 
> - Add #define ZLIB_CONST option to use const in the z_stream interface. 
>   https://github.com/madler/zlib/commit/5ab9f47745fe9353291b217f705086b6070575d5
> 
> at mozilla-release/netwerk/cache/nsCacheEntryDescriptor.cpp line 959 we 
> have a statement
> 
>    Bytef * saveNextIn = mZstream.next_in;
> 
> where mZstream is defined as z_stream in nsCacheEntryDescriptor.h.
> 
> zlib.h defines 
>    z_const Bytef *next_in;
> 
> If I read zconf.h correct, z_const is const for C++ sources which
> raises the error described in my initial mail. If I change the above
> statement to
> 
>    const Bytef * saveNextIn = mZstream.next_in;
> 
> firefox compiles nsCacheEntryDescriptor.cpp just fine, but we have the 
> next error in mozilla-release/modules/libjar/nsZipArchive.cpp line 999:
> 
>     buf = mZs.next_in;  
> 
> here mZs is of type t_stream and buf defined as uint8_t *buf = nullptr;
> which raises the following error:
> 
> mozilla-release/modules/libjar/nsZipArchive.cpp:999:17: 
> error: invalid conversion from 'const Bytef* {aka const unsigned char*}' to 
> 'uint8_t* {aka unsigned char*}' [-fpermissive]
> 

Forgot to mention that firefox compiles again if I revert

#if ( defined(ZLIB_CONST) || defined(__cplusplus) ) && !defined(z_const) 

to

#if defined(ZLIB_CONST) && !defined(z_const)

in zconf.h






More information about the Zlib-devel mailing list