denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] install on Win XP / denemo does not display any scree


From: Richard Shann
Subject: Re: [Denemo-devel] install on Win XP / denemo does not display any screen
Date: Fri, 03 Oct 2008 08:11:46 +0100

On Thu, 2008-10-02 at 23:24 -0500, David Bolton wrote:
> 
> I do not see a reference to Denemo in my PATH. Would this be causing
> the 
> SVG icon issues?
> 
Did you mean in the source code? I don't think there are any direct
references to the PATH but the gtk-*spawn* functions take a flag to say
whether to search the path or not, and I think it is set to search the
path. However, this is relevant to running lilypond etc, not the svg
loader issue.
That issue I resolved with the help of Tor Lilqvist on the gtk-app-devel
list, I append the emails below - the last one in particular gives the
solution that I found that worked when I did as clean an installation as
possible on my Mother's windows XP system.

Richard


Message: 1
Date: Sat, 05 Jul 2008 16:00:03 +0100
From: Richard Shann <address@hidden>
Subject: svg pixbuf loader on Windows
To: address@hidden
Message-ID: <address@hidden>
Content-Type: text/plain


I have been building the Gnu Denemo program for windows and have adopted
the method of bundling all the libraries needed with the intaller. I got
the gtk stuff from
gtk+-bundle-2.12.10.zip
but there does not seem to be anything for creating pixbufs from svg
files. I can't figure out why this should be different from loaders for
other stuff (jpg, png ...) and where if anywhere the loader can be
obtained. Any ideas?
Richard Shann




------------------------------

Message: 2
Date: Sat, 5 Jul 2008 20:29:01 +0300
From: "Tor Lillqvist" <address@hidden>
Subject: Re: svg pixbuf loader on Windows
To: "Richard Shann" <address@hidden>
Cc: address@hidden
Message-ID:
        <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1

> I got the gtk stuff from gtk+-bundle-2.12.10.zip
> but there does not seem to be anything for creating pixbufs from svg
> files. I can't figure out why this should be different from loaders
for
> other stuff (jpg, png ...)

The difference is that the loaders for those formats are included in
the GTK+ sources. The SVG loader is part of a different piece of
software (librsvg). It is thus not part of the proper GTK+ stack. The
GTK+ bundle includes just components that are built from the GTK+
sources and their dependencies. Sure, one might argue that it would be
nice and logical to include also the SVG pixbuf loader, but that would
then drag in some other dependencies, see below. (Other again argue
that libglade binaries should be included in the GTK+ bundle. I have
to draw the line somewhere...)

The Windows binaries for the svg gdk-pixbuf loader are in the
svg-gdk-pixbuf-loader package. The currently latest version is at
http://ftp.gnome.org/pub/GNOME/binaries/win32/librsvg/2.22/svg-gdk-pixbuf-loader-2.22.2.zip.
It requires the librsvg DLL, in the librsvg package in the same
folder.  And the librsvg DLL then requires libcroco and libgsf. The
libcroco DLL then again requires the libxml2 DLL, and the libgsf DLL
requires the bzip2 and zlib DLLs. Finding those are left as an
exercise to the reader. They are in hopefully logical locations on the
same site. Note that in particular, binaries for stuff not directly
part of the GNOME and GTK+ stack is in ../../dependencies. Please
follow up if you find that something is missing...

--tml


------------------------------

Message: 3
Date: Sat, 05 Jul 2008 21:15:50 +0100
From: Richard Shann <address@hidden>
Subject: Re: svg pixbuf loader on Windows
To: address@hidden
Message-ID: <address@hidden>
Content-Type: text/plain



> The Windows binaries for the svg gdk-pixbuf loader are in the
> svg-gdk-pixbuf-loader package. The currently latest version is at
>
http://ftp.gnome.org/pub/GNOME/binaries/win32/librsvg/2.22/svg-gdk-pixbuf-loader-2.22.2.zip.
> It requires the librsvg DLL, in the librsvg package in the same
> folder.  And the librsvg DLL then requires libcroco and libgsf. The
> libcroco DLL then again requires the libxml2 DLL, and the libgsf DLL
> requires the bzip2 and zlib DLLs. Finding those are left as an
> exercise to the reader. They are in hopefully logical locations on the
> same site. Note that in particular, binaries for stuff not directly
> part of the GNOME and GTK+ stack is in ../../dependencies. Please
> follow up if you find that something is missing...
Thanks for this. I think I have the stuff and I think I have poked it in
the right places, but so far no joy. The gdk-pixbuf.loaders file in the
directory below c:/program files/Denemo seems to be ignored. 

With another program that loads .gif images, if I hide the
gdk-pixbuf.loaders file, the program says that it is missing (on the
console). But I can hide it in the Denemo tree and I get no complaint. I
am not sure that Denemo needs other pixbuf loaders (are the standard gtk
icons loaded with one?). In any case the contents of the
gdk-pixbuf.loaders file looks suspicious, entries like 

"c:/devel/target/gtk
+-2.8.9/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.dll"

/devel is not (never has been) a path on my windows partition.

Finally, (if I am not trying your patience too far) do I need to be
worrying about 2.4.0 versus 2.10.0, or will it be happy at runtime with
anything it finds below gtk-2.0? I ask because all the earlier pixbuf
loaders had a different naming convention (libpixbufloader-gif.dll while
the svg one was just svg_loader.dll), but perhaps this is because it
doesn't belong in the GTK+ stack.

Thanks again for your help
Richard Shann





------------------------------

Message: 4
Date: Sat, 5 Jul 2008 23:38:06 +0300
From: "Tor Lillqvist" <address@hidden>
Subject: Re: svg pixbuf loader on Windows
To: "Richard Shann" <address@hidden>
Cc: address@hidden
Message-ID:
        <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1

> Thanks for this. I think I have the stuff and I think I have poked it
in
> the right places, but so far no joy. The gdk-pixbuf.loaders file in
the
> directory below c:/program files/Denemo seems to be ignored.

Ah. I forgot to mention that when installing a new gdk-pixbuf loader,
you indeed need to either 1) run the gdk-pixbuf-query-loaders program
and redirect its output to the corresponding gdk-pixbuf.loaders file
(thus refreshing the list of loaders GTK+ knows about), or 2) edit the
gdk-pixbuf.loaders file manually to add an entry for the new loader.
(If there was an installer for the new loader, the installer should
take care of this.)

> But I can hide it in the Denemo tree and I get no complaint. I
> am not sure that Denemo needs other pixbuf loaders

I don't know what Denemo is, but the explanation might be that if the
executable you are running is not a console executable, you won't see
any warning it tries to print to stderr. Run it from a command prompt
and redirect stderr to a file, or to a pipe to more, for instance...

> (are the standard gtk icons loaded with one?).

The standard icons are built-in in the libgtk DLL binary, yes.

> In any case the contents of the
> gdk-pixbuf.loaders file looks suspicious, entries like
>
> "c:/devel/target/gtk
+-2.8.9/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.dll"
>
> /devel is not (never has been) a path on my windows partition.

The paths in the gdk-pixbuf.loaders file don't need to be real
existing paths for those cases where they point to loaders included
with that particular build of GTK+. See
http://bugzilla.gnome.org/show_bug.cgi?id=462433#c5 for instance for
an often repeated explanation. In this case, the GTK+ 2.8.9 binaries
were built with a compile-time prefix of c:/devel/target/gtk+-2.8.9,
and paths in the gdk-pixbuf.loaders file that start with that work
even when GTK+ then is actually installed anywhere on the end-user
machine.

But GTK+ 2.8.9 was ages ago (umm, December 2005 it seems). The svg
loader I pointed you to most probably won't work with such an old GTK+
anyway.

> Finally, (if I am not trying your patience too far) do I need to be
> worrying about 2.4.0 versus 2.10.0, or will it be happy at runtime
with
> anything it finds below gtk-2.0?

Hard to say. You might be lucky and it works.

> I ask because all the earlier pixbuf
> loaders had a different naming convention (libpixbufloader-gif.dll
while
> the svg one was just svg_loader.dll),

That naming difference is mostly coincidental (an artefact of
differences in how the Makefile.am files in question were written) and
not a problem as such.

--tml
Message: 6
Date: Sat, 05 Jul 2008 23:26:25 +0100
From: Richard Shann <address@hidden>
Subject: Re: svg pixbuf loader on Windows
To: address@hidden
Message-ID: <address@hidden>
Content-Type: text/plain


On Sat, 2008-07-05 at 23:38 +0300, Tor Lillqvist wrote:
> > Thanks for this. I think I have the stuff and I think I have poked
it in
> > the right places, but so far no joy. The gdk-pixbuf.loaders file in
the
> > directory below c:/program files/Denemo seems to be ignored.
> 
> Ah. I forgot to mention that when installing a new gdk-pixbuf loader,
> you indeed need to either 1) run the gdk-pixbuf-query-loaders program
> and redirect its output to the corresponding gdk-pixbuf.loaders file
> (thus refreshing the list of loaders GTK+ knows about), or 2) edit the
> gdk-pixbuf.loaders file manually to add an entry for the new loader.
> (If there was an installer for the new loader, the installer should
> take care of this.)
> 
Success! Thank you. Just to spell it out (for anyone else listening in)
you unpack the gtk-bundle, poke the loader & dependencies in the right
places (under lib and bin) and then run gdk-pixbuf-query-loaders. It
executes the new loader to find out what parameters it needs. You can
only write the gdk-pixbuf.loaders file manually if you know what it
needs, guessing won't do.
I'm particularly glad that you remembered all the dependencies because
windows only tells you about the first one it hasn't got, and since I
don't connect to the internet with windows I then have to re-boot into
linux to get it :-)
The new build of Denemo is going up now. Thanks
Richard Shann





reply via email to

[Prev in Thread] Current Thread [Next in Thread]