Yocto项目Boost库:更改bitbake配方中使用的默认包版本
我正在使用Yocto项目开发一个Linux映像操作系统 我正在使用相扑分支(Yocto项目2.5) 为了在我的Linux映像中安装boost库,我将这一行添加到local.conf文件中:Yocto项目Boost库:更改bitbake配方中使用的默认包版本,boost,embedded-linux,yocto,recipe,Boost,Embedded Linux,Yocto,Recipe,我正在使用Yocto项目开发一个Linux映像操作系统 我正在使用相扑分支(Yocto项目2.5) 为了在我的Linux映像中安装boost库,我将这一行添加到local.conf文件中: IMAGE_INSTALL_append = " boost" 但是我发现安装的默认版本是Boost 1.66.0 在meta/recipes support/boost目录下,我可以找到三个文件: 配方支持/boost/boost_1.66.0.bb 配方支持/boost/boost-1.66.0.in
IMAGE_INSTALL_append = " boost"
但是我发现安装的默认版本是Boost 1.66.0
在meta/recipes support/boost目录下,我可以找到三个文件:
- 配方支持/boost/boost_1.66.0.bb
- 配方支持/boost/boost-1.66.0.inc
- 配方支持/boost/boost.inc
build/local.conf
中,在IMAGE\u INSTALL\u append=“boost”
之后,通过向文件中添加preferred\u version\u boost=“1.72.0”
来设置boost的首选版本,然后重新运行bitbake
我希望这会有所帮助。用另一个版本字符串重命名这些文件是一种快速且有点脏的方法。重新运行bitbake,将失败,因为获取的ile的md5sum不同。但它会告诉你新的散列。刚刚将这些添加到文件中。请参阅.inc文件中的SRC_URI[md5sum]和SRC_URI[sha256sum]。@vermaete所以我想我从您那里了解到,我必须替换
SRC_URI[md5sum]
,SRC_URI[sha256sum]
和SRC_URI
包含在boost-1.66.0.inc
文件中,包含新boost版本的具体信息,并重新运行bitbake?Yocto的理念是,您可以借助层构建自己的发行版。因此,您可以将某个层作为基础,然后根据需要添加另一层。@0andriy我不知道如何构建自己的层,我应该在这个新层目录中放置什么,以及如何使其发挥作用,我希望我能用您的方法回答我的boost问题。否则,我现在必须采取一个快速的解决方案。@vermaete在替换了md5sum和sha256sum以及所需的boost源代码之后,我有一些与补丁相关的错误,但我提到如果无法将应用程序的开发工具链升级到1.72,我需要使用boost 1.70.0
版本,而不是1.72.0
,然后,您必须采用配方来构建1.70版。我如何才能采用配方来构建1.70版?如果构建过程在两个版本之间没有变化,您需要更改文件/文件夹名称中的版本,并修复vermaete在原始问题的评论部分中提到的校验和。我可能还需要修补原始配方提供的补丁。如果运气不好,还需要修改特定于平台的构建步骤。恐怕写你自己的食谱并不是那么简单。我的建议是将所有内容更新为现有的配方。你是对的,因为我已经用所需的版本更改了启动目录中的文件名,并修复了校验和。我没有更改修补程序,但当我运行bitbake时,它会给我与修补程序相关的错误。我不知道如何修复这些错误。此外,我找不到已经存在的1.70版本配方。