After Nvidia driver installation when I try to run Steam I am getting this error:
steam: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64
I found this question and one of the answers that suggest installing:
sudo apt-get install libgl1-mesa-glx:i386
I have already installed libgl1-mesa-glx:i386
. Than I found this. It suggests making a symlink to 32bit libGL. How can do that? Do you have any other suggestions?
Best Answer
This problem on 64-bits systems is caused by
/usr/lib
being earlier in theLD_LIBRARY_PATH
than/usr/lib32
. Steam tries the 64-bit libraries and complains, without looking any further.It can be fixed however by in
~/Steam/steam.sh
but that file seems to be restored to the original version every time steam is ran.I fixed it by creating a script that does this:
This prepends
/usr/lib32
to the library path, then starts steam (with the script's original arguments). Now/usr/lib32
is found in the path before/usr/lib
, and steam will successfully use the 32-bit libraries.You may also want to add the line
to
/usr/bin/steam
, it will have the same effect, as long as you add it before the very last line. You'll need to sudo to edit/usr/lib/steam
./usr/bin/steam
is likely to be overwritten when steam is updated.I use the latter method, while keeping the script as a backup. That way, if
/usr/bin/steam
gets overwritten, I can simply copy paste the line again from the script to fix it.