rpmbuild を使用してビルドした rpm があります。それが sample.rpm だとしましょう。正常にビルドされます。rpmには実行可能ファイルがあります(initと呼びましょう)。
を使用してインストールしようとすると、rpm -ivh sample.rpm
失敗した依存関係が表示されます。
エラーはFailed dependency for: example.so
、rpm がこの共有オブジェクト ファイルを見つけることができないことを意味するとします。(同じディレクトリに so ファイルが存在しますが)。
そのため、rpm を as としてインストールしますrpm -ivh sample.rpm --nodeps
(必要な so ファイルがあることがわかっているため)。
rpm がこれらの rpm をインストールできないのはなぜですか? オブジェクトファイルはどこで検索されますか? (Linuxローダーはこれらの.soを探しますか)。これらの .so へのパスを含めるための LD_LIBRARY_PATH があるため、インストールされたファイル (init) を rpm から実行すると実行されます。
では、rpm が sample.rpm をインストールできないのはなぜですか (依存関係を正確に探す場所はどこですか)。rpmのビルド時に指定する必要があるものですか?