Subject: Re: bug#7716: 23.2.91; Pretest Windows binary doesn't support PNG images

From: Eli Zaretskii <[email-masked]>
Date: Wed, 29 Dec 2010 20:05:07 +0200

> Date: Sat, 25 Dec 2010 14:57:43 +0200
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > From: Sean Sieger <[email-masked]>
> > Date: Sat, 25 Dec 2010 05:58:24 -0500
> > Cc: 
> > 
> > Eli Zaretskii <[email-masked]> writes:
> > 
> >     > and http://www.libpng.org/pub/png/libpng.html
> >     > 
> >     > libpng version 1.4.3 - June 26, 2010
> > 
> >     Are there Windows binaries available for this version of libpng
> >     somewhere?  The GnuWin32 binaries are for version 1.2.37, not for
> >     1.4.x.  This could be the source of incompatibilities which could
> >     potentially prevent display of PNG images.  I see some hits in Google
> >     for "libpng 1.4 vs 1.2 incompatibilities", and they seem to say that
> >     these two versions are indeed incompatible.
> > 
> >     FWIW, I have headers and binaries for version 1.2.8.
> > 
> > There are security issues with those.
> 
> There's only one security issue with version 1.2.37, the latest one
> available from GnuWin32, and that issue is only relevant to web
> browsers.
> 
> Anyway, compiling an MS-Windows binary with a library for which
> there's no binary DLL available seems useless to me.  If you want to
> build with version 1.4.x, please build also the DLL and make it
> available.

I downloaded libpng 1.4.5, the latest version, built it, and the
pretest binary indeed can display PNG images using that.  However, the
library name is libpng14.dll, which is not in image-library-alist;
adding it there would be a bad idea due to incompatibilities between
1.2.x and 1.4.x versions.

I will next try to find a way to tweak our PNG-related code to be able
to use either version of the shared libraries, in the hope that this
is possible.  If not, we will have some hard decisions to make.

P.S. Building libpng on Windows is very easy (there's a MinGW specific
Makefile in the distro).