[Pkg-ia32-libs-maintainers] Bug#464350: Bug#464350: /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64

Goswin von Brederlow goswin-v-b at web.de
Sat May 24 14:51:43 UTC 2008


reassign 464350 libgtk2.0-0
thanks

Matthias Kuehn <matthias.kuehn at s2001.tu-chemnitz.de> 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|0x80000) = 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|0x80000) = -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|0x80000) = -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|0x80000) = 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





More information about the Pkg-ia32-libs-maintainers mailing list