Linux yocto生成上的libva版本错误

Linux yocto生成上的libva版本错误,linux,embedded-linux,intel,yocto,Linux,Embedded Linux,Intel,Yocto,我试图为英特尔处理器构建一个Yocto映像 我下载了poky的最新源代码,然后克隆了meta intel分支,并将其添加到bblayers.conf文件中 git clone git://git.yoctoproject.org/meta-intel MACHINE = "intel-core2-32" 我使用以下命令开始构建 bitbake core-image-sato 并得到以下错误: configure: error: Package requirements (libva >

我试图为英特尔处理器构建一个Yocto映像

我下载了poky的最新源代码,然后克隆了meta intel分支,并将其添加到bblayers.conf文件中

git clone git://git.yoctoproject.org/meta-intel

MACHINE = "intel-core2-32"
我使用以下命令开始构建

bitbake core-image-sato
并得到以下错误:

configure: error: Package requirements (libva >= 1.1.0) were not met:
| 
| Requested 'libva >= 1.1.0' but version of libva is 0.40.0
| 
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.
| 
我在这个文件夹meta/recipes graphics/libva/libva_1.8.3.bb中有以下配方


这意味着版本应该是1.8.3而不是0.4.0

configure正在寻找的libva版本(在一些你没有命名的配方中)是API版本。这不一定与软件包版本相同。libva是包/配方版本和API版本不太相关的示例之一

libva1.x提供了API版本0.y。是的,很奇怪

你真正的问题在于:

我下载了poky的最新源代码,然后克隆了 元英特尔分公司

meta intel不是一个分支,它是一个层和git repo。如果您没有特别更改git回购的分支,那么您使用的是master。这通常与poky的发布版本不兼容

如果要继续使用下载的poky版本,必须在meta intel中签出匹配的版本分支/标记


这并不是解决问题所必需的,但我建议使用git获得所有层,包括poky。通过这种方式,您可以很容易地选择所需的分支(所有层的方法都是相同的),并且当poky有bug修复版本时,也可以很容易地升级…

再次尝试清理和构建libva。并检查tmp/work//libva/…中的版本。使用“bitbake libva-c cleanall&&bitbake libva”它是1.8.3,而不是0.40.0。解决方案很明显:将libva升级到1.1.0+它已经超过了这一点。。为什么它被接受为0.4