0

RPM を使用して他のコンピューターにインストールしようとすると、常に失敗する仕様ファイルを編集しようとしています。CentOSを使用しています。これがエラーです。

error: Failed dependencies:
perl(ActsUtil) is needed by my_program
perl(ParseBishop) is needed by my_program

これら 2 つのファイルはどちらも RPM の依存関係です。問題は、これら 2 つのファイルが実際には RPM パッケージ内で提供されているということです。これらのファイルは両方とも .pm ファイルであり、 内にあり/opt/mysoftware/binます。を使用して解決できることを知っていますrpm - ivh --nodeps mysoftware。しかし、私はその方法を使用したくありません。というわけで、スペックファイルを修正してみました。ここに私が試したコードのいくつかがあります。

1回目

Summary:....
Name:..
Version:..
....
....
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

2回目の試行

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop, ActsUtil
...
...
%install
...
...
%changelog

3回目の試行

Summary:....
Name:..
Version:..
....
....
Provides: ParseBishop.pm, ActsUtil.pm
...
...
%install
...
...
%changelog

4回目の試行

Summary:....
Name:..
Version:..
....
....
Provides: /opt/mysoftware/bin/ParseBishop, /opt/mysoftware/bin/ActsUtil
...
...
%install
...
...
%changelog

「Provides」コマンドを間違って実行していますか? または、問題を解決するための私のアプローチはすでに間違っていますか? すべてのガイドとヘルプは本当に感謝しています。

4

1 に答える 1

1

私は解決策を見つけました。問題は、プロバイダが間違った領域にあることでした。コードの先頭にあると思われます。

Summary:...
Name:...
Version:...
Provides: perl(ParseBishop), perl(ActsUtil)
...
...
%install
...
...
%changelog

これを確認するには。rpm -qp --provides mysoftware.rpmビルドされたフォルダー内で使用しました。パッケージから提供されたものが表示されます。ご協力ありがとうございます。

于 2013-10-25T02:01:57.657 に答える