linux - 在 CentOS 7 上从源代码构建 apr-utils -- 依赖问题

标签 linux apache centos7

我正尝试在 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 要求,但我不确定这意味着什么,或者如何正确地做到这一点。

谢谢。

最佳答案

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

没有 spec 文件,但是有 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

关于linux - 在 CentOS 7 上从源代码构建 apr-utils -- 依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47557647/

相关文章:

c - 如何使用 NULL 检查以外的内置函数来验证指针?

linux - 在 UNIX 中运行脚本的 Crontab

python - Django、Python 3 和 Postgres - mod_wsgi 问题

linux - 如何在启动 Linux 时写入 USB 闪存驱动器上的文本文件?

c - 程序如何继承环境变量?

apache - 基于 URL 中参数的代理

php - SSL/TLS 操作失败 PHP5.6 -curl-ca-bundle.crt 和 cacert.pem

linux - Bash 脚本 : list all directories EXCEPT specified

centos - 在 CentOS 7 上升级 docker

python - "easy_install setuptools"是否正在将 setuptools 安装到不同的站点包中?