尝试构建源 rpm 获取:错误:未包含架构:x86_64

尝试构建源 rpm 获取:错误:未包含架构:x86_64

当我尝试构建一个源转速为podman4.5在 Alma Linux 8 上,我得到

rpmbuild --rebuild ./podman-4.5.0-1.fc39.src.rpm 
Installing ./podman-4.5.0-1.fc39.src.rpm
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
...
error: Architecture is not included: x86_64

我该如何解决这个问题

错误:不包括架构:x86_64

如果我跑

rpm -ivh ./podman-4.5.0-1.fc39.src.rpm

我可以跳入~/rpmbuild/SPECS并得到同样的错误

rpmbuild -bp podman.spec 
error: Architecture is not included: x86_64

答案1

扩展spec文件后面的宏

rpmspec -P ./podman.spec

如果你看到类似的东西

Name: podman
Epoch: 5
Version: 4.5.0
License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0
Release: 1.el8
ExclusiveArch: %{golang_arches_future}
...

或者任何以%类似 开头的宏%{golang_arches_future}都是问题的迹象:宏没有被扩展。


在这种情况下,潜在的问题似乎是RPM宏%go_arches被重命名为%golang_arches_future9个月前。随后,新的 podman 包正在使用 Fedora Rawhide 存储库中的新变量。您可以恢复规范中的更改并返回使用,或者您可以在运行时将新宏设置为您需要支持的架构的%go_arches参数。rpmbuild

rpmbuild -D "%golang_arches_future x86_64" -bb ./podman.spec

相关内容