web-dev-qa-db-ja.com

RPMパッケージをビルドする前にビルドの依存関係を自動的にインストールする

.rpmパッケージをビルドしようとしています。私はそれを行うための手順をたった今しました。これまではすべての手順が正常に終了していましたが、今はこの手順にこだわっています。次のコマンドを実行すると、このエラーが発生しました。

rpmbuild -ba asterisk.spec

error: Failed build dependencies: 
    gtk2-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    libsrtp-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    [... more ...]
    freetds-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    uw-imap-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64

Fedora-15を使用しています。このエラーを解決する方法は?

src.rpmパッケージのインストール中にすべての依存関係をインストールする方法。出来ますか?

38
Juned

yum-builddepパッケージのyum-utilsコマンドを使用して、パッケージのすべてのビルド依存関係をインストールできます。

引数は、specファイルへのパス、ソースRPMへのパス、または設定されたリポジトリにソースRPMとして存在するパッケージの名前のいずれかです。たとえば、次のとおりです。

yum-builddep my-package.spec

または

yum-builddep my-package.src.rpm

dnf-plugins-coreがインストールされていることを確認してから、パッケージマネージャーとしてdnfを使用する新しいバージョンのFedoraでも同じことが実現できます。

dnf builddep my-package.spec

または

dnf builddep my-package.src.rpm
64
TomH

yum-builddepは、使用するミラーがソースRPMを提供しない場合は機能しないようです。これはすべてのケースを処理できるわけではありませんが、通常は私のために機能します:

Sudo yum install -y $(<rpmbuild> | fgrep 'is needed by' | awk '{print $1}')

どこ <rpmbuild>rpmbuildコマンドです(例:rpmbuild -ba foo.spec)。

0
jjlin