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プレフィックスを使用していました。)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です