Skip to content

RedHat 7.x and Steam

stanislawbartkowski edited this page Oct 29, 2019 · 6 revisions

Introduction

steam video game platform is available also for RedHat/CentOs although the officially supported distribution is Ubuntu. The steam can be installed using nux-desktop repository. More details: https://developpaper.com/how-to-install-nux-dextop-repository-on-centos/
Also, Linux games should work on RedHat/Centos, particularly games supported on older, 16.04 Ubuntu distribution.

Problem

Unfortunately, sometimes Linux games cannot launch. The unpleasant message comes up.

cd /home/sbartkowski/.steam/steam/steamapps/common/Crusader Kings II
./ck2

./ck2: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./ck2)
./ck2: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./ck2)

The reason is an old version of libstdc++.so.6 library provided with the RedHat/CentOs platform, the game obviously was compiled using more current c++ compiler.

ll /usr/lib64/libstdc++.so.6

lrwxrwxrwx. 1 root root 19 10-29 00:48 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19

Solution

The solution is to install locally appropriate gcc and rewire the game to use newer libraries.

Download and unpack GNU CCC package

https://gcc.gnu.org/wiki/InstallingGCC

wget https://ftp.gnu.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.gz
tar xvfz gcc-5.1.0.tar.gz
cd gcc-5.1.0
./contrib/download_prerequisites

Compile GNU GCC

cd ..
mkdir gcc-5.1.0-build
cd gcc-5.1.0-build
../gcc-5.1.0/configure --enable-languages=c,c++ --disable-multilib
make
Warning: it can take several hours until completed.

Clone this wiki locally