nickguletskii · GitHub

Related:

#3273
#3393
#3394
#2904

There is absolutely no reason to ship copies of libstdc++ with Steam or any of the games available on Steam unless the distribution's libstdc++ is older than the one required by Steam. This only causes problems on newer distros where libraries are linked against newer libstdc++ versions.

For example, if you try to launch Steam in Ubuntu 15.04 running in the latest VirtualBox with guest additions installed, you will get something like this:

libGL error: failed to get magic
libGL error: failed to load driver: vboxvideo
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

With LIBGL_DEBUG=verbose:

 DISPLAY=:0 LIBGL_DEBUG=verbose steam
 Running Steam on ubuntu 15.04 64-bit
 STEAM_RUNTIME is enabled automatically
 Installing breakpad exception handler for appid(steam)/version(1427176184)
 libGL error: failed to get magic
 libGL error: failed to load driver: vboxvideo
 libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so
 libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so
 libGL: dlopen /usr/lib/i386-linux-gnu/dri/swrast_dri.so failed     (/home/test/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/dri/swrast_dri.so))

Suggested fix:

Only use the bundled libstdc++ when the distro comes with an older version of libstdc++.

Read the original on github.com ↗