56

I am trying to build a .rpm package. I have just followed the steps to do that. Till now all steps were gone fine but now i just stuck with this step. I just ran the following command and got this error:

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

I am using fedora-15. How to resolve this error?

How I do install all depencencies during installation of src.rpm package. Is it possible?

mattdm
  • 2,082
  • 25
  • 39
Juned
  • 6,290
  • 7
  • 45
  • 93

3 Answers3

93

You can use the yum-builddep command from the yum-utils package to install all the build dependencies for a package.

The arguments can either be paths to spec files, paths to source RPMs or the names of packages which exist as source RPMs in a configured repository, for example:

yum-builddep my-package.spec

or

yum-builddep my-package.src.rpm

The same thing can be achieved on newer versions of Fedora that use dnf as their package manager by making sure that dnf-plugins-core is installed and then doing:

dnf builddep my-package.spec

or

dnf builddep my-package.src.rpm
TomH
  • 8,900
  • 2
  • 32
  • 30
  • 1
    Thanks, can you give me any example syntax for same or any relevant link? – Juned Nov 05 '12 at 09:54
  • 8
    I've already pretty much described how you run it! Beyond which your first stop, as for any linux command, would be `man yum-builddep` which will doubtless be enlightening. – TomH Nov 05 '12 at 10:18
1

yum-builddep doesn't seem to work if the mirror you use doesn't serve source RPMs. This may not handle all cases, but it usually works for me:

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

where <rpmbuild> is your rpmbuild command (e.g., rpmbuild -ba foo.spec).

jjlin
  • 4,462
  • 1
  • 30
  • 23
0

On PHP building - especially phpbrew I used dnf builddep php, it worked.