컴파일하려고하는데엄청난CentOS 6.5에서는 rpmbuild
. Fedora Core용 SRPM을 찾았고 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을 설치합니다.