【问题标题】:httpd-2.4.18 CentOS 7 RPM build file not found: mod_mpm_event.sohttpd-2.4.18 CentOS 7 RPM 构建文件未找到:mod_mpm_event.so
【发布时间】:2026-01-10 02:50:01
【问题描述】:

我正在尝试使用 rpmbuild -tb ~/rpmbuild/SOURCES/httpd-2.4.18.tar.bz2 在 CentOS 7.2.1511 (Core) 上为 httpd-2.4.18 构建 RPM。但是,我不断收到以下错误:

error: File not found: /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.HmrPlX
+ umask 022
+ cd /home/administrator/rpmbuild/BUILD
+ cd httpd-2.4.18
+ DOCDIR=/home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ export DOCDIR
+ /usr/bin/mkdir -p /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ cp -pr ABOUT_APACHE /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ cp -pr README /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ cp -pr CHANGES /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ cp -pr LICENSE /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ cp -pr NOTICE /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/share/doc/httpd-2.4.18
+ exit 0


RPM build errors:
    File not found: /home/administrator/rpmbuild/BUILDROOT/httpd-2.4.18-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so

根据this question,问题与apr 版本有关。由于缺乏依赖关系,早期构建失败,apr 的最低版本是:

error: Failed build dependencies:
    apr-devel >= 1.4.0 is needed by httpd-2.4.18-1.x86_64
    apr-util-devel >= 1.4.0 is needed by httpd-2.4.18-1.x86_64

我安装了以下版本:

yum info apr-devel | grep Version
Version     : 1.4.8

yum info apr-util-devel | grep Version
Version     : 1.5.2

谁能帮我解决这个问题?

【问题讨论】:

  • 我不知道你的问题的答案;但是我会注意,您应该永远root 用户的身份构建 RPM。写得不好(或恶意)的 .spec 文件可以轻松破坏您的系统。
  • 即使我当时没有使用sudo

标签: apache centos7 rpmbuild


【解决方案1】:

所以我猜 apr-devel 和 apr-util-devel 包中的不匹配是问题的原因。从源代码构建 apr-1.5.2 RPM 并升级 CentOS 已修复此问题的版本。

下一个问题,更让我沉思的是,是否所有依赖于 apr 和 apr-util 的软件包都是这种情况?如果是这样,为什么 CentOS 官方 repo 的每个版本都有不同的版本?

【讨论】: