Subject: Re: bug#24536: 25.1; cannot display JPEG image

From: Eli Zaretskii <[email-masked]>
Date: Sun, 25 Sep 2016 17:21:45 +0300

> From: [email-masked]
> Date: Sun, 25 Sep 2016 11:45:11 +0900
> 
> I installed emacs-25.1-i686-w64-mingw32.zip and
> copied libjpeg-9.dll and libgif-7.dll into emacs bin directory.
> 
> JPEG images are not displayed in emacs buffer,
> while GIF images are displayed.
> 
> Emacs says "Cannot display image: (Invalid image specification)".
> 
> DLLs are obtained from http://sourceforge.net/projects/ezwinports/files/,
> archived in jpeg-v9a-w32-bin.zip and giflib-5.1.0-w32-bin.zip.
> 
> dynamic-library-alist's value is
> ((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll")
>  (png "libpng16.dll" "libpng16-16.dll")
>  (tiff "libtiff-5.dll" "libtiff3.dll" "libtiff.dll")
>  (jpeg "libjpeg-8.dll")
>  (gif "libgif-7.dll")
>  (svg "librsvg-2-2.dll")
>  (gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
>  (glib "libglib-2.0-0.dll")
>  (gobject "libgobject-2.0-0.dll")
>  (gnutls "libgnutls-30.dll")
>  (libxml2 "libxml2-2.dll" "libxml2.dll")
>  (zlib "zlib1.dll" "libz-1.dll"))

Ouch! what a mess!

It looks like the MinGW64 project doesn't yet offer a build of
libjpeg-9.dll, so the Emacs binary you have was compiled against
libjpeg-8.dll, and Emacs wants it.  But the ezwinports site only has
the later libjpeg-9.dll, so Emacs refuses to use it (because they are
binary-incompatible).

For now, you will be better off using the DLLs from here:

  http://alpha.gnu.org/gnu/emacs/pretest/windows/emacs-25-i686-deps.zip

(Btw, Phillip: why on alpha.gnu? why not ftp.gnu.org, right next to
the Emacs binaries?)

I will try to upload the older libjpeg-8.dll to the ezwinports site
when I have time, so that users of the official binaries could get it
there as well.

A similar problem is with libgnutls-30.dll, except that there, MinGW64
is ahead of ezwinports.  I will try to port and upload the newer
version soon.

Sorry.