RedHatにソフトウェアをインストールすると、Libstdc ++依存関係エラーが発生します。

RedHatにソフトウェアをインストールすると、Libstdc ++依存関係エラーが発生します。

この質問が何度も要求されたことはわかっていますが、答えを読んだ後でもまだ答えを得ることはできません。

というものをインストールしようとしています。オルヴィエートRedHat Enterprise 7 で次のエラーが発生します。

[adam@pc bin]$ sudo ./ovito
[sudo] password for adam: 
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libGui.so)
./ovito: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libCore.so)
./ovito: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libCore.so)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Concurrent.so.5)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Widgets.so.5)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Gui.so.5)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Network.so.5)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Core.so.5)
./ovito: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/adam/Downloads/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Core.so.5)

この記事の最初の回答で提案したように、最新のlibstdc ++パッケージをインストールしました。

libX11.so.6が見つかりません

結果:

[root@pc bin]# yum -y install libstdc++
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Package libstdc++-4.8.5-16.el7.x86_64 already installed and latest version
Nothing to do

ここでは、ほとんどのStackExchangeの回答で提案されているようにsimlink(?)を修正しようとしました。私はgnu.orgのコマンドに従いました。

https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths

そして、この記事の最初の答えに出てきたコマンドは次のとおりです。

https://stackoverflow.com/questions/20357033/how-to-fix-program-name-usr-lib-x86-64-linux-gnu-libstdc-so-6-version-cxx

最後に、以下を試しました。

1

LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

2

export LD_LIBRARY_PATH=${prefix}/lib64:$LD_LIBRARY_PATH

...

そして他の組み合わせ。私を混乱させるのは/usr/local/lib64道があり、道があるようですcomputer/lib64


この記事では、同様の問題を抱えているユーザーにRedHat Enterpriseバージョン5および6用のスクリプトを提供しますが、RedHat / RHEL 7用のスクリプトは提供しません。

RHEL 5 64ビットシステムでGLIBCXX_3_4_9ライブラリを持つアプリケーションにはlibstdc ++が必要です。

(スクリプトの実行方法がまだわからないというわけではありません)

答え1

私はこの特定のプログラム(Ovito)のソフトウェア開発者に電子メールを送り、彼は私に次の指示を与えました。

以前のバージョンのOVITOバージョン2.8.2をダウンロードして解凍します。

http://ovito.org/download/

lib/ovito/ ディレクトリには stdlibc++.* という 2 つのファイルがあり、それを最新の OVITO パッケージ (v2.9.0) の同じ場所にコピーします。それから実行してみてください。

このstdlibc ++ライブラリは、まさにOVITOに必要なバージョンです。ただし、一部のシステムでは、システムバージョンのlibstdc ++が必要なOpenGLグラフィックドライバと競合する可能性があるため、バイナリパッケージに含まれなくなります。

この指示に従い、Ovito 2.9.0が正しくインストールされました。

関連情報