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-util0.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

それで、私に正しい方向を指し示してくれる人yumrpm達人はいますか? すべてをソースからビルドするのは避けたいので、rpmbuildSRPM で作業したいと考えていました。

答え1

システムに複数のバージョンのパッケージがインストールされているようです。「yum-utils」パッケージがインストールされている場合は、次のコマンドを実行してそれらのパッケージの古いバージョンを削除し、rpmbuild が機能するかどうかを確認してください。

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

答え2

他の人がこれを見つけた場合に備えて、私はこれを動作させることができず、ソースからすべての依存関係をコンパイルする道を進みたくなかったので、最終的にこの試みを断念し、Fedora 20 でビルドを動作させ、公式リポジトリから Awesome をインストールすることにしました。

関連情報