Subject: bug#24669: 25.1; Cannot display images

From: Eli Zaretskii <[email-masked]>
Date: Wed, 12 Oct 2016 18:47:53 +0300

> Date: Wed, 12 Oct 2016 08:22:30 -0700 (PDT)
> From: Drew Adams <[email-masked]>
> Cc: [email-masked]
> 
> > If you are saying that your Emacs cannot display images, then my
> > crystal ball says you didn't install the 64-bit image DLLs.  The ones
> > you had before were 32-bit DLLs (because your Emacs was a 32-bit build
> > back then), which the new 64-bit binary cannot use.
> > 
> > You can find the 64-bit DLLs here:
> >   http://alpha.gnu.org/gnu/emacs/pretest/windows/emacs-25-x86_64-deps.zip
> 
> But I have no problem displaying images with this, or similar, 64-bit Emacs builds:
> 
> In GNU Emacs 25.0.50.1 (x86_64-w64-mingw32)
>  of 2014-11-14 on KAEL
> Repository revision: a5cbb7d9cc072db90201dd6e7e597c424a7d015e
> Windowing system distributor `Microsoft Corp.', version 6.1.7601
> Configured using:
>  `configure --prefix=/z/emacs --host=x86_64-w64-mingw32
>  --target=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --with-wide-int
>  --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg --with-xml2
>  --with-gnutls --with-xft --with-sound=yes --with-file-notification=yes
>  --without-dbus --without-imagemagick 'CFLAGS=-Ofast
>  -fomit-frame-pointer -funroll-loops -g0 -pipe' 'CPPFLAGS=-DNDEBUG
>  -DDBUS_STATIC_BUILD' 'LDFLAGS=-static-libgcc -static-libstdc++ -static
>  -s -Wl,-s''                                                    ^^^^^^^
> 
> Why is it that other 64-bit Windows builds have no problem showing
> images, but 25.1 cannot do so?

I can only guess: that other 64-bit build has all the necessary
libraries statically linked into the binary: see the marked "-static"
link-time switch above.

> Presumably I have the requisite binaries installed (though I don't
> recall where, and would have to look for them).

No, I think you don't have them, at least not where Windows looks for
DLLs for Emacs.

> Even if that were not the case, I would not want to install ALL of
> that stuff (which I nevertheless downloaded), just to be able to
> display images.  I already have other versions (e.g. Cygwin) of grep
> etc.

There's no grep in that archive, only shell scripts that call grep.
They are there because they are part of the bzip2 library, which is
required by some of the image DLLs.

> Which, of that mountain of stuff, are the things supposedly needed
> to (just) display images?

Almost all of them.  Apart of image DLLs, that zip file includes
GnuTLS (required for HTTPS networking) and libxml2 (required for
browsing HTML and XML files).  These two non-image libraries have
dependency libraries, of course, but other than that, all the rest is
for images of several kinds.