Hello,
On my side, I can't reproduce the issue with 32-bit xsane looking for 64-bit libraries. However, there's an issue in /usr/bin/update-gdk-pixbuf-loaders which prevents gdk-pixbuf 32-bit cache updates.
For instance, running update-gdk-pixbuf-loaders on a slackware multilib updates the 64-bit cache but not the 32-bit :
Code:
$ /usr/bin/update-gdk-pixbuf-loaders --verbose
Updating gdk-pixbuf.loaders for x86_64-slackware-linux:
/usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
while /usr/bin/update-pango-querymodules updates the 64 and 32-bit pango modules :
Code:
$ /usr/bin/update-pango-querymodules --verbose
Updating pango.modules for x86_64-slackware-linux:
/usr/bin/pango-querymodules-64 \
> /etc/pango/x86_64-slackware-linux/pango.modules
Updating pango.modules for i486-slackware-linux:
/usr/bin/pango-querymodules-32 \
> /etc/pango/i486-slackware-linux/pango.modules
The problems is at line #23 in /usr/bin/update-gdk-pixbuf-loaders :
Code:
21 /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
22 # Check for x86_64 multilib:
->23 if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then
24 for d in $(ls -d /etc/pango/i?86*); do
25 mlhost=$(basename $d)
26 break
27 done
There's no /etc/gtk-2.0/i?86* directory on slackware multilib
since 14.1. Therefore, the script assumes there's no multilib installed, and does not update the gdk-pixbuf 32-bit cache.
On the other hand, the directory /etc/pango/i?86* exists as it is part of the pango-compat32 package :
Code:
$ grep -iR "i486" /var/log/packages/pango-compat32-1.34.1-x86_64-1compat32
etc/pango/i486-slackware-linux/
etc/pango/i486-slackware-linux/pango.modules
As a (temporary) workaround, I suggest to check for /etc/pango/i?86* instead of /etc/gtk-2.0/i?86*. Here is the patch for that :
Code:
--- /usr/bin/update-gdk-pixbuf-loaders.bak 2015-01-08 09:55:06.519179663 +0100
+++ /usr/bin/update-gdk-pixbuf-loaders 2015-01-08 09:55:24.293180456 +0100
@@ -20,7 +20,7 @@
fi
/usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
# Check for x86_64 multilib:
- if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then
+ if ls -d /etc/pango/i?86* 1> /dev/null 2> /dev/null ; then
for d in $(ls -d /etc/pango/i?86*); do
mlhost=$(basename $d)
break
Now, running update-gdk-pixbuf-loaders on a slackware multilib gives:
Code:
$ /usr/bin/update-gdk-pixbuf-loaders --verbose
Updating gdk-pixbuf.loaders for x86_64-slackware-linux:
/usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
Updating gdk-pixbuf.loaders for i486-slackware-linux:
/usr/bin/gdk-pixbuf-query-loaders-32 --update-cache
Hope this helps.
--
SeB