GLIBCXX 3.4.15 on Centos 6

I would consider this a hack but have used it on more occasions than I care to admit to get around compatibility issues with GLIBC, such as the one you're encountering.

The hack involves making a link in /usr/lib which includes the name of the library that a particular tool wants. The link then points to alternative name of the library.

Example

Say I wanted to create a link to libstdc++.so.6.

$ ls -l /usr/lib | grep libstdc++.so
lrwxrwxrwx.  1 root root       19 Dec 18  2010 libstdc++.so.6 -> libstdc++.so.6.0.14
-rwxr-xr-x   1 root root   950428 Sep 24  2010 libstdc++.so.6.0.14

It works out be something like this:

$ ln -s libstdc++.so.6 libstdc++.so.6.0.15

Checking the results:

$ ls -l /usr/lib | grep libstdc++.so
lrwxrwxrwx.  1 root root       19 Dec 18  2010 libstdc++.so.6 -> libstdc++.so.6.0.14
lrwxrwxrwx.  1 root root       19 Dec 18  2010 libstdc++.so.6.0.15 -> libstdc++.so.6.0.14
-rwxr-xr-x   1 root root   950428 Sep 24  2010 libstdc++.so.6.0.14

But I'm not sure this method will work since you're library will still be missing the version string, GLIBCXX_3.4.15.

If the hack is unsuccessful then you'll likely have to bite the bullet and install GLIBC in an alternative directory, and then override LD_LIBRARY_PATH or LD_PRELOAD so that the execution of just steam sees the modified library.

Example

$ LD_PRELOAD='mylibc.so anotherlib.so' program

Details on how to do this are covered a bit more here in this SO Q&A: Multiple glibc libraries on a single host.


Basically the version of the libstdc++ RPM package shipped by CentOS (4.4.7) is not recent enough for your application. CentOS offers longterm stability instead of the latest and the greatest versions, so that's not completely unexpected.

Fedora is normally quite a bit ahead and may run your server without any issues.

Alternatively you could build a newer version of libstdc++ from a more current source. I would start off the CentOS SPEC file in the gcc SRPM , the latest release from gcc.gnu.org and rework those to build my own RPM's.

Upgrades of C libraries were in the past a good way to break a system in unexpected ways though...

Tags:

Centos