Yocto构建ninvaders时do_package_write_rpm失败(错误码1)求助
Yocto构建do_package_write_rpm任务失败的修复方案
问题定位
从错误日志中可直接定位核心原因:
error: line 5: Empty tag: License:
这表明ninvaders_0.1.1.bb配方文件未定义有效的许可证信息,导致RPM打包生成的spec文件中License标签为空,触发rpmbuild报错。
修复步骤
- 打开ninvaders的配方文件:
vi /home/user/yocto-labs/poky/meta/recipes-extended/ninvaders/ninvaders_0.1.1.bb - 在文件中添加或修正
LICENSE变量,ninvaders采用GPLv2许可证,因此添加:LICENSE = "GPL-2.0-only" - (可选)若配方未指定许可证文件校验,补充
LIC_FILES_CHKSUM(需根据实际COPYING文件计算MD5值):LICENSE_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" - 重新执行构建:
bitbake ninvaders
补充说明
Yocto构建系统强制要求所有配方明确声明许可证信息,这是合规性与打包流程的必要条件。后续若其他包出现同类错误,可按相同思路检查配方中的LICENSE和LIC_FILES_CHKSUM变量配置是否正确。
内容的提问来源于stack exchange,提问作者strafor
相关产品推荐
相关产品推荐

