Автоматическая установка зависимостей сборки перед сборкой пакета 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
пакет. Является ли это возможным?
3 ответа
Вы можете использовать yum-builddep
команда от yum-utils
пакет, чтобы установить все зависимости сборки для пакета.
Аргументами могут быть пути к файлам спецификаций, пути к исходным RPM или имена пакетов, которые существуют в качестве исходных RPM в настроенном хранилище, например:
yum-builddep my-package.spec
или же
yum-builddep my-package.src.rpm
То же самое может быть достигнуто в более новых версиях Fedora, которые используют dnf
в качестве менеджера пакетов, убедившись, что dnf-plugins-core
устанавливается и затем делает:
dnf builddep my-package.spec
или же
dnf builddep my-package.src.rpm
yum-builddep
похоже, не работает, если используемое вами зеркало не обслуживает RPM с исходным кодом. Это может не обрабатывать все случаи, но обычно это работает для меня:
sudo yum install -y $(<rpmbuild> | fgrep 'is needed by' | awk '{print $1}')
где <rpmbuild>
твой rpmbuild
команда (например, rpmbuild -ba foo.spec
).
О построении PHP - особенно
phpbrew
я использовал
dnf builddep php
, это сработало.