Я пытаюсь скомпилироватьПотрясающийна CentOS 6.5 с использованием rpmbuild
. Я нашел SRPM для Fedora Core и пытаюсь пересобрать их на моей установке CentOS, но столкнулся с проблемами зависимостей.
В принципе, хотя я установил более новые версии пакетов, rpmbuild
похоже, не обнаруживает их. Вот пример:
$ rpmbuild --rebuild xcb-util-image-0.3.9-2.fc19.src.rpm
Installing xcb-util-image-0.3.9-2.fc19.src.rpm
warning: InstallSourcePackage at: psm.c:244: Header V3 RSA/SHA256 Signature, key ID fb4b18e6: NOKEY
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
error: Failed build dependencies:
pkgconfig(xcb-util) >= 0.3.8 is needed by xcb-util-image-0.3.9-2.el6.x86_64
Но как вы можете здесь видеть, у меня явно xcb-util
установлена версия > 0.3.8:
$ sudo yum list installed | grep xcb-util
xcb-util.x86_64 0.3.6-1.el6 @UIedited_0/6.5
xcb-util.x86_64 0.3.9-2.el6 installed
Я попробовал удалить старую версию, xcb-util
но от нее зависит слишком много пакетов.
Аналогичная проблема с созданием потрясающего объекта, когда дело доходит до cmake
:
$ rpmbuild --rebuild awesome-3.5.1-2.fc18.src.rpm
Installing awesome-3.5.1-2.fc18.src.rpm
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
error: Failed build dependencies:
cmake >= 2.8.0 is needed by awesome-3.5.1-2.el6.x86_64
lua-ldoc is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(libev) is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(xcb-util) >= 0.3.8 is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(xcb-keysyms) >= 0.3.4 is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(xcb-icccm) >= 0.3.8 is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(xcb-image) >= 0.3.0 is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(cairo-xcb) is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(libstartup-notification-1.0) >= 0.10 is needed by awesome-3.5.1-2.el6.x86_64
pkgconfig(libxdg-basedir) >= 1.0.0 is needed by awesome-3.5.1-2.el6.x86_64
lua-lgi is needed by awesome-3.5.1-2.el6.x86_64
$ which cmake
/usr/bin/cmake
$ cmake --version
cmake version 2.8.11.2
$ sudo yum list installed | grep cmake
cmake28.x86_64 2.8.11.2-1.el6 @dell-epel
Так есть ли там yum
гуру rpm
, которые могут указать мне правильное направление? Я бы предпочел не собирать все из исходников, поэтому я надеялся поработать rpmbuild
с SRPM.
решение1
Кажется, в вашей системе установлено несколько версий некоторых пакетов. Если у вас установлен пакет "yum-utils", попробуйте выполнить следующую команду, чтобы удалить старые версии этих пакетов, а затем посмотрите, работает ли rpmbuild:
sudo /usr/bin/package-cleanup --cleandupes
решение2
На случай, если кто-то еще это обнаружит, мне не удалось заставить это работать, и я не хотел идти по пути компиляции всех зависимостей из исходного кода, поэтому в итоге я отказался от этой затеи в пользу того, чтобы заставить свою сборку работать на Fedora 20 и установить Awesome из официальных репозиториев.