[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