|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
svg pixbuf loader on WindowsI 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@... http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list |
|
|
Re: svg pixbuf loader on Windows> 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@... http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list |
|
|
Re: svg pixbuf loader on Windows> 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... 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@... http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list |
|
|
Re: svg pixbuf loader on Windows> 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@... http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list |
|
|
Re: svg pixbuf loader on WindowsOn 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.) > 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 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@... http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list |
| Free Forum Powered by Nabble | Forum Help |