CentOS 6.5의 SRPM에서 빌드

CentOS 6.5의 SRPM에서 빌드

컴파일하려고하는데엄청난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나는 소스에서 모든 것을 빌드할 필요가 없기 때문에 rpmbuildSRPM을 사용하여 작업하기를 바랐습니다.

답변1

귀하의 시스템에 일부 패키지의 여러 버전이 설치된 것 같습니다. "yum-utils" 패키지가 설치되어 있는 경우 다음 명령을 사용하여 해당 패키지의 이전 버전을 제거한 후 rpmbuild가 작동하는지 확인하세요.

sudo /usr/bin/package-cleanup --cleandupes

답변2

다른 사람이 이것을 발견할 경우에 대비해 저는 이 작업을 수행할 수 없었고 소스에서 모든 종속성을 컴파일하는 경로를 따르고 싶지 않았기 때문에 결국 Fedora 20에서 빌드를 작동시키기 위해 이 노력을 포기했습니다. 공식 저장소에서 Awesome을 설치합니다.

관련 정보