Subject: bug#8324: Emacs 23.3 for W32 and libpng: update documentation

From: Eli Zaretskii <[email-masked]>
Date: Wed, 23 Mar 2011 06:07:20 +0200

> Date: Tue, 22 Mar 2011 19:27:54 -0400
> From: [email-masked]
> Cc: 
> 
> I had some problems visualizing png images with the new 
> Emacs 23.3, MSwindows port. Eventually I discovered that the 
> 'image-library-alist' has changed from v23.2: it now 
> requires libpng14 instead of libpng12. I was using the 
> latter from Gnuwin32. After getting libpng14 from GTK+ 
> everything works fine.
> 
> The 'bug' is this: please update the README file to warn 
> about these changes, I found no mentions of them in the 
> updated documentation.

It is mentioned in nt/INSTALL and in README.W32, see below.  Please
tell how to make it more visible than that, and please see how did you
miss that.

INSTALL:

  For PNG images, we recommend to use versions 1.4.x and later of
  libpng, because previous versions had security issues.  You can find
  precompiled libraries and headers on the GTK download page for
  Windows (http://www.gtk.org/download-windows.html).

  Versions 1.4.0 and later of libpng are binary incompatible with
  earlier versions, so Emacs will only look for libpng libraries which
  are compatible with the version it was compiled against.  That
  version is given by the value of the Lisp variable `libpng-version';
  e.g., 10403 means version 1.4.3.  The variable `image-library-alist'
  is automatically set to name only those DLL names that are known to
  be compatible with the version given by `libpng-version'.  If PNG
  support does not work for you even though you have the support DLL
  installed, check the name of the installed DLL against
  `image-library-alist' and the value of `libpng-version', and
  download compatible DLLs if needed.

README.W32:

      PNG: requires the PNG reference library 1.4 or later, which will
      be named libpng14.dll or libpng14-14.dll.  LibPNG requires zlib,
      which should come from the same source as you got libpng.
      Starting with Emacs 23.3, the precompiled Emacs binaries are
      built with libpng 1.4.x and later, and are incompatible with
      earlier versions of libpng DLLs.  So if you have libpng 1.2.x,
      the PNG support will not work, and you will have to download
      newer versions.