Tiny Core Linux

Tiny Core Extensions => TCE Bugs => Topic started by: Arslan S. on December 26, 2009, 06:37:15 AM

Title: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Arslan S. on December 26, 2009, 06:37:15 AM
as a result svg images can't be viewed

temporary fix:

gdk-pixbuf-query-loaders > /tmp/gdk-pixbuf.loaders

sudo cp -f /tmp/gdk-pixbuf.loaders /usr/local/etc/gtk-2.0/

gdk-pixbuf.loaders file :
Code: [Select]
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gtk+-2.18.5
#
# LoaderDir = /usr/local/lib/gtk-2.0/2.10.0/loaders
#
"/usr/local/lib/gtk-2.0/2.10.0/loaders/svg_loader.so"
"svg" 2 "gtk20" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
"svg" "svgz" "svg.gz" ""
" <svg" "*    " 100
" <!DOCTYPE svg" "*             " 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
"xpm" 4 "gtk20" "The XPM image format" "LGPL"
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
"xbm" 4 "gtk20" "The XBM image format" "LGPL"
"image/x-xbitmap" ""
"xbm" ""
"#define " "" 100
"/*" "" 50

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.so"
"wbmp" 4 "gtk20" "The WBMP image format" "LGPL"
"image/vnd.wap.wbmp" ""
"wbmp" ""
"  " "zz" 1
" `" "z " 1
" @" "z " 1
"  " "z " 1

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
"tiff" 1 "gtk20" "The TIFF image format" "LGPL"
"image/tiff" ""
"tiff" "tif" ""
"MM *" "  z " 100
"II* " "   z" 100
"II* \020   CR\002 " "   z zzz   z" 0

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tga.so"
"tga" 4 "gtk20" "The Targa image format" "LGPL"
"image/x-tga" ""
"tga" "targa" ""
" \001\001" "x  " 100
" \001\t" "x  " 100
"  \002" "xz " 99
"  \003" "xz " 100
"  \n" "xz " 100
"  \013" "xz " 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.so"
"ras" 4 "gtk20" "The Sun raster image format" "LGPL"
"image/x-cmu-raster" "image/x-sun-raster" ""
"ras" ""
"Y\246j\225" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
"pnm" 4 "gtk20" "The PNM/PBM/PGM/PPM image format family" "LGPL"
"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
"pnm" "pbm" "pgm" "ppm" ""
"P1" "" 100
"P2" "" 100
"P3" "" 100
"P4" "" 100
"P5" "" 100
"P6" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so"
"png" 5 "gtk20" "The PNG image format" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pcx.so"
"pcx" 4 "gtk20" "The PCX image format" "LGPL"
"image/x-pcx" ""
"pcx" ""
"\n \001" "" 100
"\n\002\001" "" 100
"\n\003\001" "" 100
"\n\004\001" "" 100
"\n\005\001" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
"jpeg" 5 "gtk20" "The JPEG image format" "LGPL"
"image/jpeg" ""
"jpeg" "jpe" "jpg" ""
"\377\330" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ico.so"
"ico" 5 "gtk20" "The ICO image format" "LGPL"
"image/x-icon" "image/x-ico" "image/x-win-bitmap" ""
"ico" "cur" ""
"  \001   " "zz znz" 100
"  \002   " "zz znz" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-icns.so"
"icns" 4 "gtk20" "The ICNS image format" "GPL"
"image/x-icns" ""
"icns" ""
"icns" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-gif.so"
"gif" 4 "gtk20" "The GIF image format" "LGPL"
"image/gif" ""
"gif" ""
"GIF8" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
"bmp" 5 "gtk20" "The BMP image format" "LGPL"
"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
"bmp" ""
"BM" "" 100

"/usr/local/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ani.so"
"ani" 4 "gtk20" "The ANI image format" "LGPL"
"application/x-navi-animation" ""
"ani" ""
"RIFF    ACON" "    xxxx    " 100


Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on December 26, 2009, 07:34:46 AM
gdk-pixbuf.loaders is part of the gtk2 extension, and I believe it has the svg loader (away from TC and cannot check).  I am not sure that the librsvg extension should have that file in it that overwrites the one in gtk2.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Arslan S. on December 26, 2009, 07:50:10 AM
gtk2 has a gdk-pixbuf.loaders and librsvg has one too
none of them has svg_loader

 
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on December 26, 2009, 08:14:38 AM
Ok, I had used that same command to create the loaders for gtk2, but I will check on it tonight.

Perhaps I ran that command without libsrvg installed, that is probably the issue.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on December 26, 2009, 10:47:00 PM
Should be fixed, gdk-pixbuf.loaders is updated in the gtk2 extension and removed from the librsvg extension as they should be the same file, and now supports svg.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 25, 2011, 03:19:59 AM
It looks like /usr/local/etc/gtk-2.0/gdk-pixbuf.loaders has gone awol from gtk2?

However, after adding it back and running "/usr/local/bin/gdk-pixbuf-query-loaders --update-cache", I still get this error:
Code: [Select]
/usr/local/bin/gdk-pixbuf-csource --raw --build-list `cat tool-cursors.list` > gimp-tool-cursors.h
failed to load "./cursor-bad.png": Couldn't recognize the image file format for file './cursor-bad.png'
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 25, 2011, 06:04:38 AM
gdk-pixbuf2.tcz is what now handles the pixbuf stuff, that file has been deprecated and is no longer used or needed, so adding it back should make no difference.  The relevant file now is:

/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache

When I run that command, I see no error.  Here is the contents of that file on my box:

Code: [Select]
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.22.1
#
# LoaderDir = /usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders
#
"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so"
"svg" 2 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml"
 "text/xml-svg" ""
"svg" ""
" <svg" "*    " 100
" <!DOCTYPE svg" "*             " 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
"xpm" 4 "gdk-pixbuf" "The XPM image format" "LGPL"
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
"xbm" 4 "gdk-pixbuf" "The XBM image format" "LGPL"
"image/x-xbitmap" ""
"xbm" ""
"#define " "" 100
"/*" "" 50

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-wbmp.so"
"wbmp" 4 "gdk-pixbuf" "The WBMP image format" "LGPL"
"image/vnd.wap.wbmp" ""
"wbmp" ""
"  " "zz" 1
" `" "z " 1
" @" "z " 1
"  " "z " 1

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
"tiff" 1 "gdk-pixbuf" "The TIFF image format" "LGPL"
"image/tiff" ""
"tiff" "tif" ""
"MM *" "  z " 100
"II* " "   z" 100
"II* \020   CR\002 " "   z zzz   z" 0

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so"
"tga" 4 "gdk-pixbuf" "The Targa image format" "LGPL"
"image/x-tga" ""
"tga" "targa" ""
" \001\001" "x  " 100
" \001\t" "x  " 100
"  \002" "xz " 99
"  \003" "xz " 100
"  \n" "xz " 100
"  \013" "xz " 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ras.so"
"ras" 4 "gdk-pixbuf" "The Sun raster image format" "LGPL"
"image/x-cmu-raster" "image/x-sun-raster" ""
"ras" ""
"Y\246j\225" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so"
"qtif" 4 "gdk-pixbuf" "The QTIF image format" "LGPL"
"image/x-quicktime" "image/qtif" ""
"qtif" "qif" ""
"abcdidsc" "xxxx    " 100
"abcdidat" "xxxx    " 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
"pnm" 4 "gdk-pixbuf" "The PNM/PBM/PGM/PPM image format family" "LGPL"
"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap"
"image/x-portable-pixmap" ""
"pnm" "pbm" "pgm" "ppm" ""
"P1" "" 100
"P2" "" 100
"P3" "" 100
"P4" "" 100
"P5" "" 100
"P6" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so"
"png" 5 "gdk-pixbuf" "The PNG image format" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pcx.so"
"pcx" 4 "gdk-pixbuf" "The PCX image format" "LGPL"
"image/x-pcx" ""
"pcx" ""
"\n \001" "" 100
"\n\002\001" "" 100
"\n\003\001" "" 100
"\n\004\001" "" 100
"\n\005\001" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
"jpeg" 5 "gdk-pixbuf" "The JPEG image format" "LGPL"
"image/jpeg" ""
"jpeg" "jpe" "jpg" ""
"\377\330" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so"
"ico" 5 "gdk-pixbuf" "The ICO image format" "LGPL"
"image/x-icon" "image/x-ico" "image/x-win-bitmap" ""
"ico" "cur" ""
"  \001   " "zz znz" 100
"  \002   " "zz znz" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so"
"icns" 4 "gdk-pixbuf" "The ICNS image format" "GPL"
"image/x-icns" ""
"icns" ""
"icns" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
"gif" 4 "gdk-pixbuf" "The GIF image format" "LGPL"
"image/gif" ""
"gif" ""
"GIF8" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
"bmp" 5 "gdk-pixbuf" "The BMP image format" "LGPL"
"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
"bmp" ""
"BM" "" 100

"/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so"
"ani" 4 "gdk-pixbuf" "The ANI image format" "LGPL"
"application/x-navi-animation" ""
"ani" ""
"RIFF    ACON" "    xxxx    " 100


Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 25, 2011, 09:28:27 AM
In fact I have the same loaders.cache as you, but it still doesn't want to work  :-\
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 25, 2011, 10:02:18 AM
I will try later today without the -dev extensions loaded to see if that makes a difference.  Debian has the "gdk-pixbuf-query-loaders" binary in the libgdk-pixbuf2-dev extension, so maybe the dev extension is needed for that command to run.  I might have to move some files around.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 25, 2011, 10:19:16 AM
If you would, install the gdk-pixbuf2-dev extension and see if that fixes what you are seeing. 

Since we need extensions to be able to use the "/usr/local/bin/gdk-pixbuf-query-loaders --update-cache" command that will always accurately make use of what is currently installed on the system, as opposed to copying over premade cache files, it may be necessary to include the -dev stuff as part of the main gdk-pixbuf2 extension even though it makes for a larger extension.  Or at least including the part of the -dev extension that allows that command to work.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 25, 2011, 11:59:52 AM
Already tried that - if you have time you could try compiling gimp-2.6.11 and see if you have the same error
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 25, 2011, 01:10:10 PM
Ok, will do tonight.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 25, 2011, 09:34:59 PM
Is that a compile error as opposed to an error with the command afterwords?  I have
read of that as a compile error on the freebsd mailing lists.  But Gimp builds fine
here, installs fine, and I can update the icon cache afterwords with no issues.

If you want, send me your build script you are using and the resulting list of
"ls /usr/local/tce.installed" so I can exactly reproduce your setup in case there are
differences in our build method or system.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 26, 2011, 01:05:34 AM
The error comes just a few seconds after starting "make" - I'm using "./configure --prefix=/usr/local --enable-gimp-remote".

I'll replace gtk2 and gdk-pixbuf2 (and devs) later today and try again

Edit: deleted and (re)downloaded new gtk2 and gdk-pixbuf2 (and devs) , but no joy - let me look some more
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 26, 2011, 05:44:44 AM
Got it - this will not work without data in /usr/local/share/mime and this needs shared-mime-info to be loaded.

To be added as a dep for gdk-pixbuf2?
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 26, 2011, 08:08:13 AM
Most other distros don't have shared-mime-info as a dep of gdk-pixbuf2, and gdk-pixbuf2 functions by itself without it as a dep.  But   Arch linux has shared-mime-info as a dependency for gtk2, Debian has it as a dep of gtk2, gentoo has it as a depends of gtk2 when certain use flags are used.  It appears gtk2 works with some packages without shared-mime-info, and we previously been adding shared-mime-info as a dep to apps that need it to function.   Though it would add ~500kb worth of dependencies for simple apps like leafpad and Mplayer-gtk2 that doesn't need it, it would also be simpler and save time and build/runtime troubleshooting to add shared-mime-info as a dep of gtk2.  Simplicity vs minimal deps and small size potential.  I slightly lean toward issuing a statement in the gtk2 info file that many graphical apps require shared-mime-info rather than to impose it on small apps that don't need it.  I will ponder it today.

If shared-mime-info is added as a dep of gdk-pixbuf2 or gtk2, I think it would make more sense for it to be a dep of gtk2, though it technically wouldn't matter as I don't know of any uses of gdk-pixbuf2 outside of it's use with gtk2.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Jason W on February 26, 2011, 10:28:25 AM
I think I see a fairly precise way of handling it.  The gdk-pixbuf-csource binary depends on shared-mime-info to function, I saw this in a Debian bug report.  So perhaps moving the gdk-pixbuf-csource binary to the gdk-pixbuf2-dev extension since it is a development binary (Fedora splits it that way).  And then adding shared-mime-info.tcz as a dep of gdk-pixbuf2-dev.tcz.  That would provide the needed dependencies when the csource binary is called on, and gdk-pixbuf2-dev will be a dep of gtk2-dev, so it will prevent the build errors.
Title: Re: librsvg gdk-pixbuf.loaders missing svg_loader
Post by: Juanito on February 26, 2011, 11:54:21 AM
sounds good to me  :)