重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

libcap-ng-develをCentOS 5にインストールしたいのですが、CentOS 6用のパッケージしか用意されていません。
しかし、CentOS 5でCentOS 6用のrpmパッケージをインストールしようとすると以下のようなエラーが発生します。

error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by xxxxx
rpmlib(PayloadIsXz) <= 5.2-1 is needed by xxxxx

rpmlibのバージョンが古いということなのですが、何をアップグレードすれば良いでしょうか?
CentOS 6用のrpmをインストールしようにも、そちらもバージョンが合わずインストール出来ません。


また、rpmパッケージからのインストールを諦め、libcap-ngをSRPMからコンパイルしようとしましたが、「pkg-configが必要」とメッセージが出てコンパイルに失敗します。

pkgconfigというパッケージを追加したり、pkgconfig.tar.gzからコンパイルしてインストールをしたりしましたが、依然「pkg-config」が必要とのメッセージが出ます。


rpmlibのエラーのエラー回避の方法(rpmのバージョンアップ?)、もしくはpkgconfigをインストールしているにもかかわらずpkg-configのエラーが出る原因をご存知でしたら教えていただけないでしょうか?

A 回答 (1件)

>しかし、CentOS 5でCentOS 6用のrpmパッケージをインストールしようとすると以下のようなエラーが発生します。



無茶しますねぇ……。
CentOS5のパッケージをCentOS6へ…とかいうなら、バージョンの問題はまだなんとかなるかと思われますが、逆はいくらなんでも無茶でしょう。

>pkgconfigというパッケージを追加したり、pkgconfig.tar.gzからコンパイルしてインストールをしたりしましたが、依然「pkg-config」が必要とのメッセージが出ます。

pkgconfigのrpmパッケージインストールだけでOKだったはずですが……。
# ただし、SRPMからのビルドはダメでしたけどね。

rpm-buildパッケージとその他必要なものが入っているとして……
cd /usr/src/redhat
wget http://people.redhat.com/sgrubb/libcap-ng/libcap …
rpm -ivh --nomd5 libcap-ng-0.7.3-1.src.rpm
rpmbuild -ba SPECS/libcap-ng.spec
として……
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.28812
+ umask 022
   :
pscap.c:87: error: 'O_CLOEXEC' undeclared (first use in this function)
pscap.c:87: error: (Each undeclared identifier is reported only once
pscap.c:87: error: for each function it appears in.)
make[2]: *** [pscap.o] Error 1
make[2]: Leaving directory `/home/setoppu/rpm/BUILD/libcap-ng-0.7.1/utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/setoppu/rpm/BUILD/libcap-ng-0.7.1'
make: *** [all] Error 2
エラー: /var/tmp/rpm-tmp.28812 の不正な終了ステータス (%build)
となりました。
「O_CLOEXEC」で検索すると…Kernel 2.6.23以降が必要なようです。
手元のCentOS5.9のカーネルは…2.6.18-348.3.1.el5.centos.plus。
Redhatのバックポートが入っていたとしても「2.6.23以降」という壁は高そうです。
自分で2.6.23以降のカーネルでもビルド&インストールする。という手もありますが、
redhatが大量に当てているカーネルへのパッチがなくなりますから、ちょっと厳しいかも知れません。
# パッチ適用が無くなった為に動作しない機能が出てくる可能性もありますし。

CentOS6.xに乗り換えた方が建設的かも知れません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
PCの調子が悪く、返信が遅くなりました。

pkg-configが入っているのに足りないと言われる件は、別の環境で再度試すと問題ありませんでした。
色々と触っているうちにおかしくなってしまったのかもしれません。

libcap-ng-0.7.3-1.src.rpmからlibcap-ngをインストールする方法をご提案頂きましたが、CentOS 6用のレポジトリに置いてあるlibcap-ng-0.6.4-3.el6_0.1.src.rpmとはどちらが安定しているでしょうか?(CentOS 5で使用する場合)

後者の方であれば、kernel 2.6.11以降で構わないようですので、コンパイルも楽な気がします。

まあ今回libcap-ng以外で導入したいものが2.6.29以降を必要としているため、いずれにしてもkernelの壁はあるのですが・・・。

お礼日時:2013/04/14 13:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!