rpmはライブラリの依存関係をどのように解決しますか?

rpmはライブラリの依存関係をどのように解決しますか?

私はそのようなライブラリ(lddの出力)にリンクするパッケージを作成しようとしています。

libwx_baseu-2.8.so.0 => /usr/lib64/wx-2.8-wxcontainer/libwx_baseu-2.8.so.0

とても簡単ですか?ただし、rpmbuildを使用してプログラムをパッケージ化してインストールしようとすると、rpmはライブラリの欠落について文句を言います(上記を参照)。

エラー:依存関係に失敗しました:

    libwx_baseu-2.8.so.0()(64bit) 
    libwx_baseu-2.8.so.0(WXU_2.8)(64bit)

私の考えでは、rpmbuildがデフォルトのlibディレクトリ/usr/lib64の依存関係を設定しているようです。

質問- この問題を解決する方法(まあ、強制的にインストールされますが、避けたい)つまり、wx-2.8-wxcontainerサブディレクトリ(このライブラリの場合)への依存関係が設定されるようにrpmを構築する方法は?

重要な場合は、openSUSE 11.4を使用してください。

編集する

インストールを強制する --nodeps を使用してこれらのパッケージをインストールできます。これにより、インストーラは完全に機能します。明らかにシステム自体ではなく、rpmやrpmbuildに問題があるのです。

ベストアンサー1

私はこれが現在rpm / rpmbuildバージョンの制限やバグだと思います。問題を報告したのである程度質問に対する回答になったようです。

https://bugzilla.novell.com/show_bug.cgi?id=697943

常にwx rpmをペアでインストールする必要があります。 1つは実際のライブラリを持ち、もう1つは単に「ライブラリをインストールしました」とマークされたパッケージです。

  • libwx_baseu_net-2_8-0-wxcontainer-2.8.12-3.1.x86_64
  • libwx_baseu_net-2_8-0-互換性ライブラリ-wxcontainer-2.8.12-3.1.x86_64

2番目のrpmがないと、パッケージマネージャおよび/または関連アプリケーションは、対応するwxライブラリが存在するかどうかを知ることができません。

おすすめ記事