OK, after more debugging and reading ubuntu sources I found the precise reason and how to workaround it.
Reason: Ubuntu's method of creating the 32bit versions of these packages for the 64bit ubuntu has a bug (see debian/rules of ia32-libs). It does not recompile the libraries, but simply take the packages from the 32 bit ubuntu, and repackages by extracting them, moving things from /usr/lib to /usr/lib32, and repackaging them. This in general works. Unfortunately, the gdk-pixbuf library has a hard- coded path under /usr/lib to look for several modules loaded at runtime. This works under 32bit Ubuntu. Obviously, the described method to change 32-bit into 64-bit packages does not and cannot change this path. Therefore, the library under /usr/lib32 still loads the module catalog from /usr/lib and thus the modules from /usr/lib -> bang. Workaround 1: Fortunately the gdk-pixbuf allows to override the hard coded path to the catalog file with an environment variable. Set export GDK_PIXBUF_MODULE_FILE=/usr/lib32/gdk- pixbuf-2.0/2.10.0/loaders.cache Workaround 2: Fortunately, the gdk-pixbuf tries to load loaders.cache.32 before loaders.cache. Set a Symlink from /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache.32 to /usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache My next problem would be to find a package maintainer feeling somewhat responsible or in charge to fix that bug or at least put the workaround 2 in the package. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/781870 Title: 32-bit libraries erroneously load 64-bit libraries -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
