我将尽力解释它。我试图在Yocto镜像中包括并构建程序包“A”,但程序包A取决于 libftdi 和 ftdi-eeprom 。现在,“ftdi-eeprom”取决于“libftdi”。
在较新版本的“libftdi”中,tarball也包含ftdi-eeprom源,并且在构建libftdi时,它会同时构建两个软件包。尽管由于配置软件包“A”的方式,但我需要为每个依赖项使用两个不同的配方。
长话短说,我尽我所能制作了两个bitbake食谱,并成功构建了“libftdi”。现在,当我运行“ftdi-eeprom”配方时,它希望将一些文件填充到sysroot中,而这些文件已被libftdi安装在该目录中。这是发生错误的地方...重复!
显然,我需要设置一个 SSTATE_DUPWHITELIST 变量,并声明这些重复的文件可以安全地替换镜像中的旧文件(必须进行此覆盖)。有人可以帮我配置SSTATE_DUPWHITELIST吗?我不是与Yocto合作的专业人士。
屏幕上显示的错误已上传到Dropbox
提前致谢!
最佳答案
答案是根本不使用SSTATE_DUPWHITELIST。相反,在libftdi配方的do_install中(或do_install_append中,如果配方本身未定义自己的do_install),则应从$ {D}中删除重复文件,然后将它们暂存并且不会发生错误。