尝试在 SLES12 SP5 上使用 构建我自己的 monit RPM 包rpmbuild
,我遇到了一些让我感到困惑的错误:
> rpmbuild -ba -r ~/rpmbuild GNU/RPM/monit.spec
error: Failed build dependencies:
flex >= 2.6 is needed by monit-12:5.29.0-0.0.x86_64
bison >= 2.7 is needed by monit-12:5.29.0-0.0.x86_64
libopenssl-devel >= 1.0.2p is needed by monit-12:5.29.0-0.0.x86_64
pam-devel >= 1.1.8 is needed by monit-12:5.29.0-0.0.x86_64
> rpm -q flex bison libopenssl-devel pam-devel
flex-2.6.4-9.7.1.x86_64
bison-2.7-6.107.x86_64
libopenssl-devel-1.0.2p-1.13.noarch
pam-devel-1.1.8-24.49.1.x86_64
看起来好像所有依赖项都在那里,但仍然rpmbuild
抱怨!
我没有看到明显的东西,还是有什么东西坏了rpmbuild
?提供的包裹rpmbuild
是rpm-build-4.11.2-16.21.1.x86_64
(截至今天最新的)。
附加信息
好像有问题rpmbuild
,因为添加--nodeps
编译成功,但是我注意到指定的“buildroot”是重复的,即:打包时使用“~/rpmbuild/~/rpmbuild/BUILDROOT”,但是正确的“BUILD”编译时的目录。
奇怪的是,缺少的依赖项似乎是由 option 触发的
-r ~/rpmbuild
;忽略它会使构建成功,并且$HOME/rpmbuild
无论如何它都用作根目录。