Ich versuche zu kompilierenEindrucksvollauf CentOS 6.5 mit rpmbuild
. Ich habe SRPMs für Fedora Core gefunden und versuche, sie auf meiner CentOS-Installation neu zu erstellen, stoße aber auf Abhängigkeitsprobleme.
Grundsätzlich scheint es so zu sein, dass neuere Paketversionen, die ich installiert habe, rpmbuild
nicht erkannt werden. Hier ist ein Beispiel:
$ 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
Aber wie Sie hier sehen können, habe ich eindeutig xcb-util
> 0.3.8 installiert:
$ 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
Ich habe versucht, die ältere Version zu entfernen, xcb-util
aber es gibt zu viele Pakete, die davon abhängen.
Ähnliches Problem beim Erstellen von Awesome, wenn es um Folgendes geht 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
Gibt es da draußen also irgendwelche yum
Gurus rpm
, die mir den richtigen Weg weisen können? Ich möchte nicht alles aus dem Quellcode erstellen müssen, also hoffte ich, rpmbuild
mit den SRPMs zum Laufen zu kommen.
Antwort1
Scheinbar sind auf Ihrem System mehrere Versionen einiger Pakete installiert. Wenn Sie das Paket „yum-utils“ installiert haben, versuchen Sie den folgenden Befehl, um die älteren Versionen dieser Pakete zu entfernen und prüfen Sie dann, ob rpmbuild funktioniert:
sudo /usr/bin/package-cleanup --cleandupes
Antwort2
Falls das noch jemand findet: Ich habe es nicht hinbekommen und wollte nicht alle Abhängigkeiten aus dem Quellcode kompilieren. Deshalb habe ich das Unterfangen aufgegeben und stattdessen meinen Build auf Fedora 20 zum Laufen gebracht und Awesome aus den offiziellen Repos installiert.