Centos 6のGLIBCXX 3.4.15

Centos 6のGLIBCXX 3.4.15

Centos 6ビルドにGLIBCXX 3.4.15をインストールする必要があります(Steamでゲームサーバーを実行するには)。少しグーグルをしてみると、プログラムのインストール時に3.4.15( LoadLibrary ERROR: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found)が必要だとエラーが出るサイトがいくつかありましたが、ただバイパス/インストールしない方法を使いましたね。これにより、strings /usr/lib/libstdc++.so.6 | grep GLIBCXX結果は次のようになります。

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

それでは、Centos 6にGLIBCXX 3.4.15を直接インストールする方法は?

ベストアンサー1

私はこれをハッキングだと思いますが、あなたが経験しているようなGLIBCとの互換性の問題を解決するために認めたいものよりも多く使用しました。

ハッキングには、/usr/lib特定のツールに必要なライブラリ名を含むリンクを作成することが含まれます。これにより、リンクはライブラリの代替名を指します。

はい

へのリンクを作成したいとします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

結果は次のとおりです。

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

検査結果:

$ 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

しかし、あなたのライブラリにまだバージョン文字列がありませんので、このアプローチがうまくいくかどうかはわかりませんGLIBCXX_3.4.15

クラックが失敗した場合は、他のディレクトリにGLIBCをインストールしてから上書きするか、Steamを実行して変更されたライブラリを確認する必要がありLD_LIBRARY_PATHますLD_PRELOAD

はい

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

これを行う方法の詳細については、このSO Q&Aを参照してください。単一ホストの複数のglibcライブラリ

おすすめ記事