How to force 32 bit PaleMoon to use 32 bit libs instead of 64 bit libs?
Slackware 14.2. Fairly clean install.
I have 32 bit PaleMoon installed. It runs and outputs this to console: Unable to load image-loading module: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: wrong ELF class: ELFCLASS64 For testing purposes, I copied the 32 bit files from the 32 bit directory of gdk-pixbuf (NEVER do this it is a horrible hack and will break everything that relies on gdk-pixbuf) and it runs and works as expected. Which tells me that 1) it is looking for gdk-pixbuf in the 64 bit library location instead of the 32 bit location and 2) if it finds the 32 bit version, it works fine. So my question is how can I force it to use the 32 bit version of gdk-pixbuf? It's there under /usr/lib where you would expect it to be, but PaleMoon looks for it under /usr/lib64 |
Hello,
why don't you build 64-bit version ? -- SeB |
The SlackBuild script doesn't build from source, it just builds an install package with a pre-built binary. It segfaults on Slackware 14.2. I looked at building the 64 bit version myself from source, but there were several issues that I didn't have time to deal with. The 32 bit version seems to run fine with the exception of the gdk-pixbuf problem.
|
Is your Slackware fully updated? And are you using Pale Moon 26.4.0.1?
|
Hello,
Quote:
Code:
$ palemoon Code:
$ ls /var/log/packages/*multilib* -- SeB |
Quote:
Code:
GTK2_RC_FILES=/usr/share/themes/Adwaita/gtk-2.0/gtkrc palemoon %u |
Quote:
You would think there would be some easy way to force 32 bit PaleMoon to look in /usr/lib instead of /usr/lib64? |
Quote:
|
Quote:
I installed Pale Moon prior to that update and have been updating it with the Pale Moon installer. If I remember correctly, you can install Slackware 14.1 x64, install Pale Moon, then upgrade to 14.2 and Pale Moon will still work. |
Quote:
However, why would upgrading from 14.1 to 14.2 work, where a clean install of 14.2 not work? I'm thinking that maybe there is something that was removed from Slackware 14.2 causing the problem, and when you upgrade from 14.1 to 14.2, that something is still there? Stranger and stranger... |
Quote:
Slackware is not the only distro that is having issues. Manjaro, Ubuntu and Gentoo (that are all on glibc-2.23) are seeing the same problem. |
Hello,
Quote:
-- SeB |
Hello,
Well, gdk-pixbuf2 has changed since 14.1, and the workaround given in my previous post does not work anymore. However, the patch below for /usr/bin/update-gdk-pixbuf-loaders can be used instead : Code:
--- /usr/bin/update-gdk-pixbuf-loaders.bak 2016-08-26 14:40:42.901913302 +0200 1. remove packages gdk-pixbuf2 and gdk-pixbuf2-compat32 2. if required, remove the directories /usr/lib/gdk-pixbuf-2.0 and /usr/lib64/gdk-pixbuf-2.0 3. at this point, running palemoon should fail with the following error: Code:
XCOMPGlueLoad error for file /opt/palemoon/libxul.so 5. At this point, palemoon should start, but with the warning below : Code:
(pale moon:9531): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory Code:
$ /usr/bin/gdk-pixbuf-loaders --verbose -- SeB |
Hello,
I finally understood how to reproduce this and why palemoon was searching for 64-bit version of libpixbufloader-png.so. In fact, when palemoon is started for the first time, it shows the following warning : Code:
(pale moon:9531): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory Code:
$ gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache Code:
$ gdk-pixbuf-query-loaders-32 > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache -- SeB |
SeB --
That's is one OUTSTANDING bit of debugging ( again )! Thanks ( again ) for the education. You solved a similar issue [SOLVED] 32 bit program (xsane) looking for 64 bit library on multilib system on 2015-01-08 which I implemented 'by hand' in /usr/bin/update-gdk-pixbuf-loaders And, I don't run palemoon ... but ... One more Q and only if you know off-hand ...( :) if not, I'll do a grep session for myself :) ) Do you know whether any Programs or doinst.sh scripts would 'auto-execute' the 'update-the-loaders.cache' commands ? Code:
gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache Thanks again for the enlightenment ! -- kjh |
All times are GMT -5. The time now is 02:29 PM. |