【问题标题】:Building apr-utils from Source on CentOS 7 -- dependancy issue在 CentOS 7 上从 Source 构建 apr-utils - 依赖问题
【发布时间】: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-headers mirror.centos.org/centos/7.4.1708/os/x86_64/Packages ...并编辑你的apr-utils.spec以使用兼容包。
  • 我愿意试一试,但我从未编辑过 .spec 文件。你有一个很好的资源可以提供一些尝试这个的提示吗?

标签: linux apache centos7


【解决方案1】:

rpmbuild -tb apr-util-1.6.1.tar.bz2

没有规范文件,但是 apr-util-1.6.1/build/rpm/apr-util.spec.in

最好使用带有常规 apr-util.spec 文件的源:apr-util-1.6.1-1.fc27.src.rpm http://dl.fedoraproject.org/pub/fedora/linux/updates/27/SRPMS/Packages/a/apr-util-1.6.1-1.fc27.src.rpm

请不要以root身份构建rpm包,在/home/name/中设置一个非特权的rpmbuild环境:https://www.linuxquestions.org/questions/linux-software-2/need-rpm-package-for-php-version-5-2-7-and-up-on-redhat-5-1-a-766486/#13

使用$ rpm -Uvh apr-util-1.6.1-1.fc27.src.rpm ... 和$ cd rpms/SPECS/ 解压缩源代码 ... 将'apr-util.spec' 编辑到新的依赖项,并试一试:$ rpmbuild -bb apr-util.spec

【讨论】:

    【解决方案2】:

    在 Redhat 7.5 版中需要安装 db4-devel 软件包,但它已被 libdb-devel 取代。以下步骤是从 tar-ball 文件创建 apr-util 包所必需的

    • yum install libdb-devel
    • rpmbuild -tb apr-util-1.6.1.tar.bz2
    • cd ~/rpmbuild
    • rm -rf BUILD BUILDROOT RPMS SRPMS
    • cp ../apr-util-1.6.1.tar.bz2 SOURCES/
    • cd 规格
    • vim apr-util.spec 并用 libdb-devel 替换 db4-devel
    • rpmbuild -bb apr-util.spec
    • cd ../RPMS/x86_64
    • apr-util 的所有软件包都在那里。

    【讨论】:

      猜你喜欢
      • 2015-04-25
      • 2023-03-21
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      相关资源
      最近更新 更多