Hi All,

I'm using Firefox as distributed with BT 5 R2 x64 Gnome

When attempting to run Firefox I receive this error in terminal

root@bt:~# firefox
/usr/lib/gio/modules/libgioremote-volume-monitor.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgioremote-volume-monitor.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
/usr/lib/gio/modules/libgiogconf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiogconf.so
The following URL provided me with an answer which I had difficulty finding.
Because the thread was a bit messy as non-relevant issues were also addressed I bring you my version, clean I hope

Special thanks to EStyles for figuring this out

In essence the three libs:



Are showing up as ELFCLASS64 when they should be ELFCLASS32

I believe that is because we have a 32bit Firefox and not the 64bit as you might have expected.

There may be other ways to fix this but I hesitate to switch up the product mix in Backtrack as it is all so tightly integrated.

So in staying wiith the 32bit Firefox here is how I implemented the fix as per the link above.

cd /usr/lib/gio/modules
Each of the below should show as ELF64
readelf -h libgioremote-volume-monitor.so
readelf -h libgvfsdbus.so
readelf -h libgiogconf.so
If the above show as ELF64

Make a folder to backup the ELF64 files in question, they look exactly the same as ELF32 so must be isolated
mkdir ./backupELF64
mv ./libgioremote-volume-monitor.so ./backupELF64
mv ./libgvfsdbus.so ./backupELF64
mv ./libgiogconf.so ./backupELF64
Copy corresponding ELF32 files from lib32 to lib ( you can check that they are ELF32 first by using readelf -h as shown above if you like)
cd /usr/lib32/gio/modules
cp ./libgioremote-volume-monitor.so /usr/lib/gio/modules
cp ./libgvfsdbus.so /usr/lib/gio/modules
cp ./libgiogconf.so /usr/lib/gio/modules
Start Firefox in terminal and be happy
Let me know if this is not done correctly please