Bug#464350: [Pkg-ia32-libs-maintainers] Bug#464350: /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64
This bug also happens when you try to run the final release binary of FireFox 3.0 provided by mozilla.org on a testing/amd64 [...] (firefox-bin:20450): Gtk-WARNING **: Error loading theme icon 'gtk-close' for stock: Impossible de charger le module de chargement d'images : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (firefox-bin:20450): Gtk-WARNING **: Error loading theme icon 'gtk-go-back-ltr' for stock: Impossible de charger le module de chargement d'images : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 (firefox-bin:20450): Gtk-WARNING **: Error loading theme icon 'gtk-go-forward-ltr' for stock: Impossible de charger le module de chargement d'images : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so : /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 [...] Thanks for fixing it ! -- Laurent Raufaste http://www.glop.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#464350: /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64
Same problem here using packages from testing. It seems that the loader file in /etc/gtk-2.0/gdk-pixbuf.loaders.32 is accessed too early in ia32-libs-gtk versions 2.2 and above. The problem is shown in the straces below: Working in ia32-libs-gtk 2.1: open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d, O_RDONLY| O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x8) = 12 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libgtk2.0-0.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/librsvg2-common.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libwmf0.2-7.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_NONBLOCK| O_LARGEFILE|O_DIRECTORY|0x8) = -1 ENOTDIR (Not a directory) open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_LARGEFILE) = 12 Wrong order in ia32-libs-gtk 2.1: open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_NONBLOCK| O_LARGEFILE|O_DIRECTORY|0x8) = -1 ENOTDIR (Not a directory) open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_LARGEFILE) = 12 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d, O_RDONLY| O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x8) = 12 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libgtk2.0-0.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/librsvg2-common.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libwmf0.2-7.loaders, O_RDONLY|O_LARGEFILE) = 13 This issue seems to be fixed in Ubuntu, as stated here: https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/205223 Best regards Matthias -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#464350: [Pkg-ia32-libs-maintainers] Bug#464350: /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64
reassign 464350 libgtk2.0-0 thanks Matthias Kuehn [EMAIL PROTECTED] writes: Hi, I'm reassigning this to libgtk2.0-0 as the actual source must be fixed. Nothing ia32-libs-gtk can do there. Same problem here using packages from testing. It seems that the loader file in /etc/gtk-2.0/gdk-pixbuf.loaders.32 is accessed too early in ia32-libs-gtk versions 2.2 and above. The problem is shown in the straces below: Working in ia32-libs-gtk 2.1: open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d, O_RDONLY| O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x8) = 12 That is already wrong. gtk really should use an architecture specific path or this won't work for ia32-libs and amd64-libs. E.g. /usr/lib/gtk-2.0/$(DEB_HOST_GNU_TYPE)/2.10.0/loaders/../loader-files.d Alternatively it could check for /usr/lib32/gtk-2.0/2.10.0/loaders/../loader-files.d first and fallback to /usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d otherwise. But that is less elegant. open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libgtk2.0-0.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/librsvg2-common.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libwmf0.2-7.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_NONBLOCK| O_LARGEFILE|O_DIRECTORY|0x8) = -1 ENOTDIR (Not a directory) open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_LARGEFILE) = 12 That file should actualy be obsoleted by the loader-files.d approach. You might have noticed the respective /etc/gtk-2.0/gdk-pixbuf.loaders file has gone. Wrong order in ia32-libs-gtk 2.1: open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_NONBLOCK| O_LARGEFILE|O_DIRECTORY|0x8) = -1 ENOTDIR (Not a directory) open(/etc/gtk-2.0/gdk-pixbuf.loaders.32, O_RDONLY|O_LARGEFILE) = 12 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d, O_RDONLY| O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x8) = 12 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libgtk2.0-0.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/librsvg2-common.loaders, O_RDONLY|O_LARGEFILE) = 13 open(/usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d/libwmf0.2-7.loaders, O_RDONLY|O_LARGEFILE) = 13 Unlucky us. Shouldn't have worked in the first place though. This issue seems to be fixed in Ubuntu, as stated here: https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/205223 Best regards Matthias MfG Goswin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#464350: /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64
Package: ia32-libs-gtk Version: 2.1 Severity: normal I believe that this bug has been reported before (#435455, #460169, and #463701 all seem to refer to the same thing, but I'm not sure and if they are they are looking in the wrong direction). The bug that I ran into is in gdk_pixbuf_io_init, gdk-pixbuf-io.c:534: /* FIXME: using an absolute path requires patching Makefile.am */ gchar *gdkpixbuf_module_files_d_str = g_build_filename (PIXBUF_LIBDIR, .., loader-files.d, NULL); Because PIXBUF_LIBDIR is /usr/lib/gtk-2.0/2.10.0/loaders, this indirectly causes the 64-bit libraries to be read instead of the 32-bit libraries. In the case of ia32-libs-gtk, PIXBUF_LIBDIR should be /usr/lib32/gtk-2.0/2.10.0/loaders. Excerpt from gdb: (gdb) fr 0 #0 gdk_pixbuf_io_init () at /usr/src/gtk+2.0/gtk+2.0-2.12.7/gdk-pixbuf/gdk-pixbuf-io.c:532 532 gchar *gdkpixbuf_module_file_str = gdk_pixbuf_get_module_file (); (gdb) n 537 NULL); (gdb) p gdkpixbuf_module_file_str $31 = (gchar *) 0x90626a0 /etc/gtk-2.0/gdk-pixbuf.loaders.32 (gdb) n 540 GError *error = NULL; (gdb) p gdkpixbuf_module_files_d_str $32 = (gchar *) 0x9062f58 /usr/lib/gtk-2.0/2.10.0/loaders/../loader-files.d Isn't it possible to read /etc/gtk-2.0/gdk-pixbuf.loaders.32 and extract the value of LoaderDir from it (which is added as comment), or else read the first line starting with a quote and use the directory part from that. The start of /etc/gtk-2.0/gdk-pixbuf.loaders.32 is: # GdkPixbuf Image Loader Modules file # Automatically generated file, do not edit # Created by gdk-pixbuf-query-loaders from gtk+-2.10.3 # # LoaderDir = /usr/lib32/gtk-2.0/2.10.0/loaders # /usr/lib32/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so I realize that for amd64 the value of PIXBUF_LIBDIR is different, but that simply isn't sufficient. (gdb) info shared 0xf70b28e0 0xf70c5124 Yes /opt2/firefox-chroot/usr/lib/libgdk_pixbuf-2.0.so.0 In other words, this is a 32-bit library that doesn't know that it is running on a 64-bit machine other than by means of environment variables. Please, at least support PIXBUF_LIBDIR through an environment variable, or else parse the file in gdkpixbuf_module_file_str. Since this library was compiled inside a 32-bit chroot, it's really part of libgtk2.0-0, but I thought it was better to report the bug against ia32-libs-gtk. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-3-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages ia32-libs-gtk depends on: ii ia32-libs 2.2ia32 shared libraries for use on a ia32-libs-gtk recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]