【发布时间】:2017-11-29 16:39:47
【问题描述】:
我试图在 CentOS 7 上从源代码构建 apr-utils-1.6.1(目标是获得 httpd-2.4.29),但我遇到了一个依赖问题:
# rpmbuild -tb apr-util-1.6.1.tar.bz2
error: Failed build dependencies:
db4-devel is needed by apr-util-1.6.1-1.x86_64
db4-devel 在 yum 中不可用,libdb-devel 提供版本 5,不满足依赖要求。
我已尝试下载和安装 db4-devel,但它有自己无法满足的依赖项:
# rpm -iv db4-devel-4.7.25-22.el6.x86_64.rpm
warning: db4-devel-4.7.25-22.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
db4 = 4.7.25-22.el6 is needed by db4-devel-4.7.25-22.el6.x86_64
db4-cxx = 4.7.25-22.el6 is needed by db4-devel-4.7.25-22.el6.x86_64
libdb-4.7.so()(64bit) is needed by db4-devel-4.7.25-22.el6.x86_64
libdb_cxx-4.7.so()(64bit) is needed by db4-devel-4.7.25-22.el6.x86_64
尝试安装 db4 也失败了,因为 Berkely DB 版本 5 已经安装并在 CentOS 7 上使用:
# rpm -iv db4-4.7.25-22.el6.x86_64.rpm
warning: db4-4.7.25-22.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
db4 < 5 is obsoleted by (installed) libdb-5.3.21-20.el7.x86_64
我现在不确定如何进行。我是否只需要减少损失并部署 CentOS 6 机器?看来 CentOS 6 还是有 db4 的。我正在考虑修改规范文件以删除 db4 要求,但我不确定这意味着什么,或者如何正确地做到这一点。
谢谢。
【问题讨论】:
-
也许你可以使用
compat-db47, compat-db-headersmirror.centos.org/centos/7.4.1708/os/x86_64/Packages ...并编辑你的apr-utils.spec以使用兼容包。 -
我愿意试一试,但我从未编辑过 .spec 文件。你有一个很好的资源可以提供一些尝试这个的提示吗?