作成した 2 つの RPMS (lib.rpm と program.rpm) があり、1 つには共有ライブラリが含まれています。libtest.so、libtest.so.1、libtest.so.1.0。もう1つは、共有ライブラリにリンクされた単一のバイナリを含みます。test_program。
lib.rpm を新しいマシンに問題なくインストールしました。test_program をコピーして、正常に実行しました。次に、test_program を含む program.rpm をビルドしますが、これも問題ありません。しかし、rpm -ivh program.rpm を実行すると、次のようになります。
error: Failed dependencies:
libtest.so.1() (64bit) is needed by test_program-0.1-1.x86_64
それでも、test_program で ldd を実行すると、明らかに /usr/lib64/libtest.so.1 にファイルが見つかります。
私の仕様ファイルは両方とも最低限のものです。パッケージの説明の他に、%files の下にエントリを追加し、AutoReqProv を no に設定しただけです。
それで、何が得られますか?