19

After it was reinstalled, updates downloaded but it won’t start even from the terminal. This is the error message it gives:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)
43

I've had the same problem, which I was able to solve following instructions from http://ubuntuforums.org/showthread.php?t=2275526:

This is a problem with steam and ubuntu 15.04. Steam bundles old libs and are colliding with mesa drivers, that is also why closed drivers aren't seeing this problem.

There is a open bug in steam github the workaround for now is to remove the old lib version, at least until valve fix the issue in their startup script or similar. So enter this folders and do this

Code:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

It worked for me... but please note that if some game required that old lib from the steam runtime, it may crash (that is why should be valve fixing this)

Edit: The steps in the thread were already quoted from Problem with installing Steam on Ubuntu 15.04+, so you can go there for more details in case these instructions are not enough for you to solve your problem.

  • For the both mv command, I got: gnu: No such file or directory. Why? – Kin Aug 19 '16 at 15:12
  • @CasperLI They may be in a different directory. Try going to the path from Nick's answer (askubuntu.com/a/778521/514190) and renaming libstdc++.so.6 in your favourite file manager. Or just find the file: – balver Aug 19 '16 at 15:31
  • missing command from comment above: find ~/.steam -name "libstdc++.so.6" – balver Aug 19 '16 at 15:37
  • This did not work on Ubuntu 17.10 – Ray Foss Jan 12 '18 at 3:54
  • Restarting fixed it... I had closed anything in ps aux | grep steam. It must run something else. Still a bummer that it seems to crash when offline. – Ray Foss Jan 12 '18 at 4:03
5

The answer above was correct for me although the path to the files weren't quite the same when I was trying to get steam to run on 16.04 the path I needed was

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

Also after updating the first time I had to do this again or it still wouldn't update.

3

Instead of removing libstdc++, first investigate whether this error is caused by ambiguous libGL symbolic links.

Refer to my other answer that also worked for me fixing this problem https://askubuntu.com/a/903488/364084

I am going to paste the content here:

If you are using nvidia driver, sometimes you will see that libGL.so.1 points to ambiguous libGL provided by both mesa and nvidia. To test this, you can run this command

$ sudo ldconfig -p | grep -i gl.so

The output was something like:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Now I just needed to remove the library provided by mesa and everything worked perfectly.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
0

balver's solve worked, however, the directory is slightly different than what was posted. Here's the command sequence as I typed it:

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.