You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用rpmbuild的Duplicate build-ids错误?该错误成因是什么?

问题原因

这些accel-qtest-*.so文件是QEMU针对不同架构生成的qtest加速模块,但它们的代码逻辑完全一致,编译后的二进制内容没有任何差异。RPM的build-id是通过计算二进制文件的哈希值生成的,用来唯一标识每个二进制文件,当多个文件哈希值相同时,就会触发重复build-id的错误。

禁用重复build-id错误的方法

有两种方式可以处理这个问题:

1. 单次构建临时禁用

执行rpmbuild命令时,通过宏定义关闭build-id的校验:

rpmbuild --define '_build_id_verify_level none' -ba qemu.spec

或者关闭build-id的硬链接生成(同样可以避免该错误):

rpmbuild --define '_build_id_links none' -ba qemu.spec

2. 修改spec文件永久禁用

在QEMU的spec文件开头添加以下宏定义,后续构建都会自动跳过重复build-id的检查:

%define _build_id_verify_level none

或者选择关闭build-id硬链接:

%define _build_id_links none

内容的提问来源于stack exchange,提问作者KJ7LNW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:20:01