0

centOs5 に nxLog をインストールしようとしています。

「rpm -ivh nxlog-ce-2.8.1248-1.x86_64.rpm」を実行すると、次のエラーが表示されます。

error: Failed dependencies:
    libcap.so.2()(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libcrypto.so.10()(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libcrypto.so.10(libcrypto.so.10)(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libdbi >= 0.8.1 is needed by nxlog-ce-2.8.1248-1.x86_64
    libdbi.so.0()(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libexpat.so.1()(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libssl.so.10()(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64
    libssl.so.10(libssl.so.10)(64bit) is needed by nxlog-ce-2.8.1248-1.x86_64

私はこれらの依存関係を調べてきました (yum はそれらを解決できません)。そして、次のようなパッケージでそれらの多くを見つけることができます:

http://rpm.pbone.net/index.php3/stat/4/idpl/20908084/dir/centos_other/com/openssl10-libs-1.0.1e-1.ius.centos6.x86_64.rpm.html

ただし、これらはすべて centOs 6+ 用にラベル付けされています。nxlog のドキュメントには、centOs 5 をサポートしていると記載されています。これらの依存関係を解決するクリーンな方法はありますか? それとも、nxlog を実行できるようになるまで、これらのパッケージを組み合わせて一致させる必要がありますか?

ありがとう

4

1 に答える 1

2

このような問題に対処するには、少なくとも 2 つの方法があります。

  1. パッケージを提供する代替/補助リポジトリを見つけて使用する
  2. 選択したパッケージを再コンパイルして、古いシステムで動作するようにします。

CentOS 5 はかなり古いものです (CentOS 7 は昨年リリースされ、CentOS 5 は修正のみを取得します)。それでも、目的の 1 つのパッケージに焦点を当てると、成功するか、再構築する必要のある多数の依存関係があることを発見するには、午後の作業で十分です。適切な既存のリポジトリがなく、プログラムが実際に古いシステムでビルド/動作する場合、再構築はそれほど苦痛ではありません。

現在のソースを見ると、nxlog.spec.RHEL5packages/redhat サブディレクトリにRPM 仕様ファイル (を参照) があります。これは、開発者がパッケージをビルドするための最小要件であると考えたものを示しています。

BuildRequires:  BuildRequires: apr-devel pcre-devel openssl-devel libdbi-devel libcap-devel expat-devel openssl-devel gcc libtool glibc-devel libgcc perl  
Prereq(post,preun):     /sbin/install-info  
Requires(pre):  shadow-utils, apr >= 1.2, libdbi >= 0.8.1, openssl, pcre, expat, zlib 

それらの大部分は問題ないようです。

  • お使いのシステムに、少なくともバージョンについて引用されている最小値があるかどうかを確認する必要があります。
  • これらを満たすことができれば、rpmbuildリストされているパッケージを (追加して) インストールすることが次のステップです。
  • rpmbuildtar ファイル (仕様ファイルのSource行にリストされている)を配置して使用するセットアップ~/rpmbuild/SOURCES
  • 実行しますrpmbuild -ba nxlog.spec(必要に応じてそのファイルのフル パス名を指定します -- rpmbuild はファイル サフィックスを気にしているように見えるため、".spec" サフィックスを使用するように名前を変更します)。

すべてがうまくいけば、rpm ファイルが以下に作成されます。~/rpmbuild/RPMS

于 2015-03-28T20:18:26.253 に答える