在 Centos 操作系统中升级 Berkeley DB rpm

在 Centos 操作系统中升级 Berkeley DB rpm

我有一个需要 Berkeley DB 4.5 或更高版本的软件。

但在我的 CentOS 5.11 x86_64 服务器中,我有:

  • 软件包 db4-4.3.29-10.el5_5.2.x86_64 已安装并且是最新版本
  • 软件包 db4-4.3.29-10.el5_5.2.i386 已安装并且是最新版本

如何将这些 rpm 升级到更新版本?我尝试使用 Centos 6.6 rpm 进行升级,方法如下:

rpm -Uvh ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm

但我收到此错误:

Retrieving ftp://195.220.108.108/linux/centos/6.6/os/x86_64/Packages/db4-4.7.25-18.el6_4.i686.rpm
warning: /var/tmp/rpm-xfer.IKWqHE: Header V3 RSA/SHA1 signature: NOKEY, key ID c105b9de
error: Failed dependencies:
        rpmlib(FileDigests) <= 4.6.0-1 is needed by db4-4.7.25-18.el6_4.i686
        rpmlib(PayloadIsXz) <= 5.2-1 is needed by db4-4.7.25-18.el6_4.i686
        db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.i386
        db4 >= 4.4.0 conflicts with pam-0.99.6.2-12.el5.x86_64
        libdb-4.3.so is needed by (installed) subversion-1.6.11-12.el5_10.i386
        libdb-4.3.so is needed by (installed) pam_ccreds-3-5.i386
        libdb-4.3.so is needed by (installed) apr-util-1.2.7-11.el5_5.2.i386
        libdb-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386
        libdb_cxx-4.3.so is needed by (installed) db4-devel-4.3.29-10.el5_5.2.i386

我也尝试从源代码编译db-4.5.20.tar.gz。我编译它没有问题,但是我的软件仍然看到 rpm 包 db4-4.3.29 中预安装的 Berkley DB。

有什么帮助吗?

答案1

这里有点不明显的答案是与现有版本并行安装 Berekeley DB 的另一个版本。然后在构建时使用-I/usr/include/db-X.Y和标志针对新安装的标头/库进行构建-ldb-X.Y

在构建时避免“系统”标头(即#include "db.h")和库(即-ldb)的最简单方法是(暂时)卸载软件包,db4-devel以确保您的构建在构建期间使用-I/usr/include/db-X.Y和标志。之后-ldb-X.Y重新安装。db4-devel

相关内容