首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Yocto项目构建中,如何解决任务不匹配和元数据不是确定性的问题?

在Yocto项目构建中,如何解决任务不匹配和元数据不是确定性的问题?
EN

Stack Overflow用户
提问于 2021-02-22 13:05:43
回答 1查看 2.1K关注 0票数 0

我面临着“Task散列不匹配”&“元数据不是确定性的,这需要修复”Yocto项目构建中的错误。这个问题产生时没有任何明显的理由。有了一个非常好的源代码回购,构建有时是成功的,而有时是失败的。源代码/配方或任何其他构建参数没有更改。

错误日志:

代码语言:javascript
复制
ERROR: When reparsing /home/user/my_project/yocto/sub_project-yocto/meta-subproject/meta-base/recipes-core/sub_project-rootfs-base/sub_project-rootfs-base.bb:do_populate_lic, the basehash value changed from e0bfa2ad64f24d189d23f9d84918c74a7253e0d7e9c7fea4e3346cbc473d43da to c108c533ec82c43aa15730e4ca9c9838f87133e63417f40af0de8ca8cb43f51a. The metadata is not deterministic and this needs to be fixed.
ERROR: The following commands may help:
ERROR: $ bitbake sub_project-rootfs-base -cdo_populate_lic -Snone
ERROR: Then:
ERROR: $ bitbake sub_project-rootfs-base -cdo_populate_lic -Sprintdiff

ERROR: sub_project-rootfs-base-1.0+gitAUTOINC+db239d9f5b-r2 do_package_qa: Taskhash mismatch 87d8616452c2be01481a9034e9147f0270a57a3f64f85cde65076863b8123c7c versus 9a7fd3b27e62140001d77ab75dbc2026dac8e6c8ca93a487b1857a76f2b6b2yy for /home/user/my_project/yocto/sub_project-yocto/meta-subproject/meta-base/recipes-core/sub_project-rootfs-base/sub_project-rootfs-base.bb:do_package_qa
ERROR: Taskhash mismatch 87d8616452c2be01481a9034e9147f0270a57a3f64f85cde65076863b8123c7c versus 9a7fd3b27e62140001d77ab75dbc2026dac8e6c8ca93a487b1857a76f2b6b2yy for /home/user/my_project/yocto/sub_project-yocto/meta-subproject/meta-base/recipes-core/sub_project-rootfs-base/sub_project-rootfs-base.bb:do_package_qa
ERROR: sub_project-rootfs-base-1.0+gitAUTOINC+db239d9f5b-r2 do_package_write_rpm: Taskhash mismatch 9a7fd3b27e62140001d77ab75dbc2026dac88qc8ca93a487b1857a76f2b6b2yy versus 9a7fd3b27e6217l0001d77ab75dbc2026dac8e6c8ca93a487b1857a76f2b6b2yy for /home/user/my_project/yocto/sub_project-yocto/meta-subproject/meta-base/recipes-core/sub_project-rootfs-base/sub_project-rootfs-base.bb:do_package_write_rpm
ERROR: Taskhash mismatch 9a7fd3b27e62140001d77ab75dbc2026dac88qc8ca93a487b1857a76f2b6b2yy versus 9a7fd3b27e6217l0001d77ab75dbc2026dac8e6c8ca93a487b1857a76f2b6b2yy for /home/user/my_project/yocto/sub_project-yocto/meta-subproject/meta-base/recipes-core/sub_project-rootfs-base/sub_project-rootfs-base.bb:do_package_write_rpm
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-22 13:05:43

我通过执行以下两个操作解决了这个问题。

  1. 使用

命令清除在生成过程中引发错误的配方

代码语言:javascript
复制
- bitbake -c cleansstate sub\_project-rootfs-base

  1. 通过执行空写或触摸文件更新bb文件时间戳。

代码语言:javascript
复制
- Open the bb file using your editor - vim /home/user/my\_project/yocto/sub\_project-yocto/meta-subproject/meta-base/recipes-core/sub\_project-rootfs-base/sub\_project-rootfs-base.bb
代码语言:javascript
复制
- Write the file by clicking save button or in vim writing ":w" command
代码语言:javascript
复制
- Close the file using "x" button or ":q" command.

像往常一样重建这个项目。

编辑:如果有多个比特食谱显示这个错误,你可以触摸所有bb文件并重新构建。进入yocto文件夹并运行以下命令。这将需要一些人接触所有文件,并大大提高重建项目的时间。

代码语言:javascript
复制
find . -type f -name "*.bb" -exec touch {} +
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66316284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档