* How do I make windows emacs display PNG and JPEG images?
@ 2014-12-29 7:54 Steinar Bang
2014-12-29 15:58 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Steinar Bang @ 2014-12-29 7:54 UTC (permalink / raw)
To: help-gnu-emacs
Windows 8 Home Edition 64bit
GNU Emacs 24.3.1 (i386-mingw-nt6.2.9200) of 2013-03-17 on MARVIN
From ezwinports[1]:
jpeg-v9a-w32-bin.zip
libpng-1.6.12-w32-bin.zip
I have downloaded the jpeg and libpng zip files from ezwinports[1] and
unpacked them and put the following .dll files in the emacs bin
directory:
libpng16-16.dll (dated: 2014-06-21)
zlib1.dll (dated: 2008-07-13)
libjpeg-9.dll (dated: 2014-06-21)
However, emacs still starts up without PNG and JPEG support. The
following expressions both eval to nil in the scratch buffer:
(image-type-available-p 'jpeg)
(image-type-available-p 'png)
Is there a way to debug this further? Do I have to copy some of the exe
files as well as the dll files?
Thanks!
- Steinar
[1] http://sourceforge.net/projects/ezwinports/files/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How do I make windows emacs display PNG and JPEG images?
2014-12-29 7:54 How do I make windows emacs display PNG and JPEG images? Steinar Bang
@ 2014-12-29 15:58 ` Eli Zaretskii
2014-12-30 7:47 ` Steinar Bang
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2014-12-29 15:58 UTC (permalink / raw)
To: help-gnu-emacs
> From: Steinar Bang <sb@dod.no>
> Date: Mon, 29 Dec 2014 08:54:31 +0100
>
> Windows 8 Home Edition 64bit
> GNU Emacs 24.3.1 (i386-mingw-nt6.2.9200) of 2013-03-17 on MARVIN
> From ezwinports[1]:
> jpeg-v9a-w32-bin.zip
> libpng-1.6.12-w32-bin.zip
>
> I have downloaded the jpeg and libpng zip files from ezwinports[1] and
> unpacked them and put the following .dll files in the emacs bin
> directory:
> libpng16-16.dll (dated: 2014-06-21)
> zlib1.dll (dated: 2008-07-13)
> libjpeg-9.dll (dated: 2014-06-21)
You should put _all_ the files in bin/ that you find in the *.zip
files, not just select DLLs.
Also, the date of zlib1.dll looks old.
But I don't think these are the reasons for your problems.
> However, emacs still starts up without PNG and JPEG support. The
> following expressions both eval to nil in the scratch buffer:
> (image-type-available-p 'jpeg)
> (image-type-available-p 'png)
>
> Is there a way to debug this further? Do I have to copy some of the exe
> files as well as the dll files?
What are the versions of the libraries against which the Emacs binary
was built? Look at the values of the variables libpng-version and
libjpeg-version: do they match the versions of the DLLs you installed?
(There's some explanation of this near line 200 of w32-win.el.)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How do I make windows emacs display PNG and JPEG images?
2014-12-29 15:58 ` Eli Zaretskii
@ 2014-12-30 7:47 ` Steinar Bang
2014-12-30 15:52 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Steinar Bang @ 2014-12-30 7:47 UTC (permalink / raw)
To: help-gnu-emacs
>>>>> Eli Zaretskii <eliz@gnu.org>:
> You should put _all_ the files in bin/ that you find in the *.zip
> files, not just select DLLs.
Ok. I added the config files of libpng as well, but it didn't make any
difference.
Why do the .exe files need to be copied. Are the .exe files loaded and
code in them executed? Or is the DLLs' location used to find the .exe
files to execute in a separate process?
> Also, the date of zlib1.dll looks old.
Ok, hm... sorry, the date is actually 2013-09-20, the 2008-07-13 date
was for zip.exe (I looked at the wrong file in dired).
> But I don't think these are the reasons for your problems.
Ok.
> What are the versions of the libraries against which the Emacs binary
> was built? Look at the values of the variables libpng-version and
> libjpeg-version: do they match the versions of the DLLs you installed?
libpng-version's value is 10403
No match for libjpeg-version.
Sysinternals sigcheck couldn't find any version number in the DLLs (see below)
> (There's some explanation of this near line 200 of w32-win.el.)
No w32-win.el in the lisp directory.
locate-library says:
No library w32-win in search path
No library w32-win.el in search path
Here are the sysinternals sigcheck results for the libpng and libjpeg
DLLs:
c:\ProgramFiles\emacs-24.3\bin>sigcheck -q -a libpng16-16.dll
c:\ProgramFiles\emacs-24.3\bin\libpng16-16.dll:
Verified: Unsigned
Link date: 10:40 21.06.2014
Publisher: n/a
Description: n/a
Product: n/a
Prod version: n/a
File version: n/a
MachineType: 32-bit
Binary Version: n/a
Original Name: n/a
Internal Name: n/a
Copyright: n/a
Comments: n/a
Entropy: 6.584
c:\ProgramFiles\emacs-24.3\bin>sigcheck -q -a libjpeg-9.dll
c:\ProgramFiles\emacs-24.3\bin\libjpeg-9.dll:
Verified: Unsigned
Link date: 11:28 21.06.2014
Publisher: n/a
Description: n/a
Product: n/a
Prod version: n/a
File version: n/a
MachineType: 32-bit
Binary Version: n/a
Original Name: n/a
Internal Name: n/a
Copyright: n/a
Comments: n/a
Entropy: 6.323
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How do I make windows emacs display PNG and JPEG images?
2014-12-30 7:47 ` Steinar Bang
@ 2014-12-30 15:52 ` Eli Zaretskii
2014-12-31 11:20 ` Steinar Bang
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2014-12-30 15:52 UTC (permalink / raw)
To: help-gnu-emacs
> From: Steinar Bang <sb@dod.no>
> Date: Tue, 30 Dec 2014 08:47:37 +0100
>
> >>>>> Eli Zaretskii <eliz@gnu.org>:
>
> > You should put _all_ the files in bin/ that you find in the *.zip
> > files, not just select DLLs.
>
> Ok. I added the config files of libpng as well, but it didn't make any
> difference.
I didn't think it will.
> Why do the .exe files need to be copied. Are the .exe files loaded and
> code in them executed? Or is the DLLs' location used to find the .exe
> files to execute in a separate process?
Neither. And in this case, the non-DLL files in bin/ are not needed.
But in general, you are advised to unzip the entire *-bin.zip archive
and keep all of it, because some packages come with data files and
additional bits and pieces that are needed for flawless operation.
The *-bin.zip files include everything that "make install" installs,
so if you omit some files, you in effect have an incomplete
installation. If you are familiar with the package internals and know
what you are doing, feel free to remove what you think is
unnecessary. Otherwise, my recommendation is to keep all of it. It
is safer.
> > What are the versions of the libraries against which the Emacs binary
> > was built? Look at the values of the variables libpng-version and
> > libjpeg-version: do they match the versions of the DLLs you installed?
>
> libpng-version's value is 10403
> No match for libjpeg-version.
Right, that's the problem. You need libpng14-14.dll or libpng14.dll
for PNG, and jpeg62.dll for JPEG. See w32-win.el for the full list.
> Sysinternals sigcheck couldn't find any version number in the DLLs (see below)
It's not recorded there, it's recorded in the name of the DLL.
> > (There's some explanation of this near line 200 of w32-win.el.)
>
> No w32-win.el in the lisp directory.
>
> locate-library says:
> No library w32-win in search path
> No library w32-win.el in search path
It's in lisp/term/, where all the *-win.el files are kept. Or maybe
you have a compressed w32-win.el.gz there.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How do I make windows emacs display PNG and JPEG images?
2014-12-30 15:52 ` Eli Zaretskii
@ 2014-12-31 11:20 ` Steinar Bang
2014-12-31 16:27 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Steinar Bang @ 2014-12-31 11:20 UTC (permalink / raw)
To: help-gnu-emacs
>>>>> Eli Zaretskii <eliz@gnu.org>:
>> libpng-version's value is 10403
>> No match for libjpeg-version.
> Right, that's the problem. You need libpng14-14.dll or libpng14.dll
> for PNG, and jpeg62.dll for JPEG. See w32-win.el for the full list.
I couldn't find old versions of the DLLs somewhere on the ezwinports
sites? (I looked for an "Old Releases" folder that sourceforge sites
sometimes have, but couldn't find it).
So what I did was to install emacs 24.4 (emacs-24.4-bin-i686-pc-mingw32)
from here:
http://ftp.gnu.org/pub/gnu/emacs/windows/
For 24.4 from above:
libpng-version's value is 10612
libjpeg-version's value is 90
Then I copied in the entire bin directory contents of the unzips pf
these ezwinports packages into the emacs-24.4-bin-i686-pc-mingw32/bin
directory:
gnutls-3.3.11-w32-bin.zipgnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libpng-1.6.12-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
And now PNGs display fine inlined in Gnus, and JPEGs probably will as
well, when I encounter them, because:
(image-type-available-p 'jpeg)
(image-type-available-p 'png)
both returns t.
Thanks, Eli!
[snip!]
>>> (There's some explanation of this near line 200 of w32-win.el.)
>> No w32-win.el in the lisp directory.
>> locate-library says:
>> No library w32-win in search path
>> No library w32-win.el in search path
> It's in lisp/term/, where all the *-win.el files are kept. Or maybe
> you have a compressed w32-win.el.gz there.
Found it as lisp/term/w32-win.el on 24.3 (ie. uncompressed) and as
share/emacs/24.4/lisp/term/w32-win.el (also uncompressed) on 24.4.
Thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How do I make windows emacs display PNG and JPEG images?
2014-12-31 11:20 ` Steinar Bang
@ 2014-12-31 16:27 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2014-12-31 16:27 UTC (permalink / raw)
To: help-gnu-emacs
> From: Steinar Bang <sb@dod.no>
> Date: Wed, 31 Dec 2014 12:20:49 +0100
>
> >>>>> Eli Zaretskii <eliz@gnu.org>:
>
> >> libpng-version's value is 10403
> >> No match for libjpeg-version.
>
> > Right, that's the problem. You need libpng14-14.dll or libpng14.dll
> > for PNG, and jpeg62.dll for JPEG. See w32-win.el for the full list.
>
> I couldn't find old versions of the DLLs somewhere on the ezwinports
> sites? (I looked for an "Old Releases" folder that sourceforge sites
> sometimes have, but couldn't find it).
You did the right thing -- upgraded your Emacs instead -- but should
you need old versions in the future, you will probably find them via
the "wayback machine" site. I find it invaluable in getting hands on
old files and pages that are no longer available anywhere.
I deliberately delete old versions from the ezwinports site to avoid
getting people into DLL hell.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-12-31 16:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-29 7:54 How do I make windows emacs display PNG and JPEG images? Steinar Bang
2014-12-29 15:58 ` Eli Zaretskii
2014-12-30 7:47 ` Steinar Bang
2014-12-30 15:52 ` Eli Zaretskii
2014-12-31 11:20 ` Steinar Bang
2014-12-31 16:27 ` Eli Zaretskii
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).