Subject: bug#21203: 24.5; about-emacs makes emacs freeze on windows 8.1

From: Eli Zaretskii <[email-masked]>
Date: Fri, 14 Aug 2015 09:48:33 +0300

> Date: Thu, 13 Aug 2015 17:06:19 -0400
> From: Pablo Mercader Alcántara <[email-masked]>
> 
> >   emacs -q --eval "(setq fancy-splash-image \"splash.xpm\")"
> >
> > and then try invoking 'about-emacs'.  If Emacs still hangs, my guess
> > was wrong, and the image libraries are probably not your problem.
> 
> This works! so the problem is the image library ...

This also means that the XPM library is OK.

> >   M-: (image-type-available-p 'svg)
> t
> >   M-: (image-type-available-p 'png)
> nil

This is very strange, since librsvg, the library needed for SVG
support, comes with PNG support libraries.  Which is just one more
evidence, IMO, that the problems you have are due to librsvg.

So I suggest to find where that librsvg lives, download and install
librsvg from this site:

  http://sourceforge.net/projects/ezwinports/files/librsvg-2.40.1-2-w32-bin.zip/download

and then install that downloaded librsvg in a place that Emacs will
find before the other librsvg you already have.  Some alternatives for
achieving the latter:

  . Put the DLL files from the above zip archive in the same directory
    where you have emacs.exe
  . Rearrange PATH such that the directory where you have the DLLs
    from the above zip archive is found before the other librsvg
  . Uninstall the librsvg you have now

> When I execute "emacs.exe" instead of "runemacs.exe" I get 2 windows,
> a windows console window and in the fore ground the emacs for windows
> window. When I execute the "about-emacs" in this window the console
> shows an error message that says this:
> 
> (emacs.exe:7528): Glib-GObject-CRITICAL **: gtype.c:2712: You forgot
> to call gtype_init()
> 
> (emacs.exe:7528): Glib-CRITICAL **: g_once_init_leave: assertion
> `initialization_value != 0' failed

These come from glib, a library which is required by librsvg.  I think
this is part of your problem: something is wrong with that librsvg, at
least when it is invoked from the native Windows Emacs.  Do you know
where did you get that librsvg?