Skedlerというこのソフトウェアをインストールしようとしています。ドキュメントにはGLIBCXXライブラリの依存関係が記載されていますが、インストール手順をわざわざ提供することはできませんでした。
GLIBCXX libraries Skedler has dependency on libstdc++ library. Following are the GLIBCXX versions the code depends on libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 To check the versions on your server. Please run the command CentOS strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX Debian/Ubuntu strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX If the version is not available, update the GCC compiler
grep
コマンドを実行すると、Ubuntu18.04でno such file found
が表示されます。 sudo apt-get install libstdc++
やその他のいくつかのコマンドも試しましたが、必要なライブラリがインストールされていないようです。
回答
チェックする推奨パス名は最新のDebian / Ubuntuでは正確ではありません。コマンドはおそらく次のようになります。
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
このセグメントは、ldd
コマンド出力の一部のように見えます:
libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
これらの3行のいずれかの矢印の後にテキストnot found
がないという事実は、インストールプログラムによってテストされ、ライブラリ内で必要なすべてのものが正常に見つかりました。したがって、この依存関係はすでにシステムによって処理されているようです。
ちなみに、Skedlerの出力は、ライブラリの名前に関して少し混乱しているように見えます。最もユーザーに表示される名前は、実際にはlibstdc++
である必要があります。
Debian 9には、現在利用可能なlibstdc++
の2つのバージョンがあります。現在のバージョンはlibstdc++6
としてパッケージ化されています。また、さまざまなプロプライエタリソフトウェアで人気があったレガシーバージョンは、libstdc++5
としてパッケージ化されています。 Ubuntuでも同様の名前のバリアントが利用できると思います。
名前GLIBCXX
は、ライブラリ内のバージョンシンボルの名前のプレフィックスです。通常は、ライブラリの実際の名前( “lib”プレフィックスなし)とより密接に関連しますが、この場合、プラス記号が問題になるため、X文字に置き換えられます。
(古いlibstdc++5
は現在のものと互換性のない別のABIを使用し、そのバージョンシンボルは代わりにGLIBCPP
プレフィックスを使用していました。)