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ライブラリ。