在centos5上安装nxlog(依赖项)

时间:2015-03-27 19:27:54

标签: linux centos rpm yum nxlog

我正在尝试在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.是否有一种干净的方法来解决这些依赖关系?或者我是否必须混合和匹配这些软件包(一旦我在机器上安装了所有软件包,希望RPM能解决它们吗?)直到我可以运行nxlog?

由于

1 个答案:

答案 0 :(得分:2)

至少有两种方法可以解决这样的问题:

  1. 查找并使用提供包
  2. 的备用/补充存储库
  3. 重新编译选定的包,以便它们可以在旧系统上运行。
  4. CentOS 5相当陈旧(CentOS 7于去年发布,CentOS 5仅获得修复)。然而,专注于单个所需的软件包,下午的工作就足以成功或发现有许多依赖项也必须重建。如果没有合适的现有存储库,并且该程序确实构建/使用旧系统,那么重建并不是那么痛苦。

    查看current sources,打包/ redhat子目录中有一个RPM规范文件(查看nxlog.spec.RHEL5)。这列出了开发人员认为构建软件包的最低要求:

    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)安装列出的软件包就是下一步。
    • 通过在rpmbuild
    • 中放置tar文件(列在规范文件的Source行中)来设置使用~/rpmbuild/SOURCES
    • 运行rpmbuild -ba nxlog.spec(根据需要提供该文件的完整路径名 - 重命名为使用“.spec”后缀,因为rpmbuild似乎关心文件后缀)。

    如果一切顺利,您将在~/rpmbuild/RPMS

    下有一个rpm文件