首页 > 解决方案 > 为什么在将 rpmbuild 用于 apr-util-1.6.1.tar.bz2 时,由于缺少文件 apr_dbd_odbc* 而出现错误?

问题描述

我在 RHEL 7.8 上,安装了最新的 rpm-build。我已经下载了官方的apr-util-1.6.1.tar.bz2。我已经成功构建了 apr (apr-1.7.0.tar.bz2) 的 RPM。当我以 root 身份从 /root/rpmbuild/SOURCES 运行时:

rpmbuild -bb apr-1.7.0.tar.bz2

它运行了很长一段时间,但随后吐出构建错误:

RPM 构建错误:glob 找不到文件:/root/rpmbuild/BUILDROOT/apr-util-1.6.1-1.x86_64/usr/lib64/apr-util-1/apr_dbd_odbc*

这些文件确实不存在。该位置的 dbd 文件是 mysql、pgsql 和 sqlite3。我需要在某个地方获取这些文件吗?提前致谢,安全部门已将本次更新的截止日期定为星期四。显然,RHEL7 repo 不适合安全扫描,所以我们现在必须构建和维护我们自己的 apache。

标签: linuxbuildredhatrpmrpmbuild

解决方案


这是我必须做的。坚果,但它有效:

  1. 将 apr-util-1.6.1.tar.bz2 文件打包并解压到备用位置
  2. cd 到那个 untar 到 apr-util-1.6.1/dbd 用一个 shell
  3. 在另一个 shell 中,cd /root/rpmbuild/SOURCES,然后运行:rpmbuild -tb apr-util-1.6.1.tar.bz2
  4. 当 rpmbuild 到达“======== drop table ========”部分时,cp apr_dbd_odbc* /root/rpmbuild/BUILDROOT/apr-util-1.6.1-1.x86_64/ usr/lib64/apr-util-1/

而且它成功了……


推荐阅读