-1

CentOS 5 を使用しています。モジュールの rpm 仕様ファイルを作成しました。共有ライブラリ、正確には libavro にコンパイル時の依存関係があります。そのために、libavro-1.5.1.so.21 をダウンロードしてビルドし、インストールしました。デフォルトで /usr/local/lib にインストールされます。また、ld.so.conf を編集して /usr/local/lib を含めました。ldconfig を実行して ld キャッシュを再生成しました。上記の手順の後、モジュールの rpm を生成しました。rpm をビルドしたのと同じマシンにインストールしようとすると、失敗した依存関係エラーが発生します:- libavro-1.5.4.so.22()(64bit) is needed by mymodule-1.1-1.x86

ビルド中にリンクされた共有ライブラリで失敗する理由がわかりません。

4

2 に答える 2

1

代わりに libavro-1.5.4 をインストールしてみてください。rpm は必要なライブラリの論理名 (soname) を探しているため、インストールが失敗します。

于 2012-01-11T16:40:53.290 に答える
1

共有ライブラリだけでは十分ではありません。ヘッダーも必要であり、.soそれに対してリンクできるようにするためのリンクも必要です。

-develライブラリパッケージと一緒にパッケージを見つけてインストールしてください。BuildRequires仕様ファイルにdevel パッケージを として追加します。

ああ、RPM を root としてビルドしないでください。そうしませんよね?

于 2012-01-12T10:58:36.670 に答える