Erstellen von SRPMs auf CentOS 6.5

Erstellen von SRPMs auf CentOS 6.5

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, rpmbuildnicht 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-utilaber 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 yumGurus rpm, die mir den richtigen Weg weisen können? Ich möchte nicht alles aus dem Quellcode erstellen müssen, also hoffte ich, rpmbuildmit 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.

verwandte Informationen