rpm
パッケージをインストールすると、必要な依存ライブラリがないことが警告されます。実際、そのライブラリはソースから既にインストールしているので、rpm
はそのことを知らないと思います。
次に、rpm
に既存のライブラリとその方法を知らせますか?たぶん、rpm
構成ファイルにコードを追加しますか?
ちなみに、不足しているライブラリを(もう一度)rpm
でインストールすると、問題は(すぐに)解決する可能性がありますが、rpm
のバージョンが利用できない場合があります。
RPM依存関係データベースは、ソースからパッケージをインストールしたことを認識できません。 RPMデータベースはRPMパッケージに存在するメタデータのみを認識し、ソースからインストールされたパッケージにはこのメタデータが含まれていません。
ソースからパッケージをビルドする一部の構成スクリプトは、インストールされたパッケージに関するメタデータである pkg-config
を生成します。ただし、pkg-config
のメタデータとRPMメタデータ(またはDEB
メタデータ、またはpacman
メタデータ)の明確な統合はありません。ディストリビューションをパッケージ化するとき、パッケージャはメタデータを特定の形式でパッケージ(RPMパッケージなど)に挿入し、そのメタデータは依存関係を決定するために使用されるものです。他の形式で提供されるメタデータはありません。
一方、同じシステム上に異なるバージョンのライブラリを置くことができます。デフォルトでは(つまり、ほとんどのパッケージが従う GNUコーディング標準 に従って)、configure
スクリプトはその生成物を/usr/local
にインストールする必要があります。ディストリビューションによってパッケージ化されたパッケージ(RPM
など)は、コンテンツを/usr
にインストールする必要があります。
したがって、慣習に従って( [〜#〜] fhs [〜#〜] と呼ばれ)、ソースからインストールされたパッケージ/ライブラリを/usr/local
に保持し、RPM
を介して同じライブラリをインストールしますライブラリと競合しません(ディストリビューションのパッケージャーはFHSに準拠しているため)。
利用可能なRPMがない場合は、自分で作成できます。そのためには、ソースからパッケージ/ライブラリをビルドし、ダミーの場所(ビルドルート)にインストールする必要があります。次に、RPMパッケージに必要なメタデータを提供し、RPMファイルにパッケージ化します。 TLDPには日付がありますが、非常に完全です RPMの構築に関するガイド 。
これがyum
などのパッケージマネージャーに固執するか、最悪の場合はrpm
に固執する理由ですが、ソースからのインストールは避けてください。
したがって、解決策は、RPMパッケージで欠落している依存関係をインストールすることです。最初にソースからインストールしたものを削除することをお勧めしますが、場合によっては少し難しい場合もあります。