上下文
我跟随NXP i.MX7 Reference为i.MX 7 SABRE主板构建Linux映像。这个过程进展顺利,我成功地在板上构建和加载了krogoth图像。当我尝试将openembedded-core图层添加到图像时出现问题。我立即得到以下错误。我包含了我的 bblayers.conf 以供参考。任何帮助,将不胜感激。我甚至不需要sqlite,所以如果有办法绕过它,那就没关系了。
错误:
$ANDROID_SDK/cmake/<cmake-version>/share/cmake-<version>/Modules/AndroidNdkModules.cmake
bblayers.conf
add_filter( 'the_content', 'my_the_content_filter', 20 );
function my_the_content_filter( $content ) {
if ( is_single() ):
$length = strlen($content);
if ($length> 500) //
{
$content = sprintf('<span class="custom-class">' .$content. '</span>');
}
endif;
// Returns the content.
return $content;
}
成功构建与令人费解的构建之间的唯一区别是:ERROR: ExpansionError during parsing /fsl-community-bsp-platform/sources/openembedded-core/meta/recipes-support/sqlite/sqlite3_3.16.2.bb: Failure expanding variable SQLITE_PV, expression was ${@sqlite_download_version(d)} which triggered exception TypeError: getVar() takes at least 3 arguments (2 given)
。
答案 0 :(得分:4)
不要将openembedded-core/meta
添加到您的bblayers.conf
!
在您的列表BBLAYERS =
中,两个条目
${BSPDIR}/sources/poky/meta \
${BSPDIR}/sources/openembedded-core/meta \
都是同一层。 meta
中的Poky
直接来自OpenEmbedded
。使用脚本Poky
从多个上游存储库合并combo-layer
存储库。 (在我看来这是不幸的,虽然我可以理解为什么要这样做。)
如果你不喜欢,例如较新版本的meta
,您需要更新poky
,或完全删除poky
,并分别下载openembedded-core
和bitbake
。
答案 1 :(得分:0)
根据我用yocto(尤其是NXP imx7)构建BSP的经验,我经常遇到ExpansionError。大多数时候,我发现在某些情况下会有多余的包装,层或配方。一旦将它们从安装中删除,它就会顺利运行。
对于您而言,只需从构建中删除以下内容,就可以了。
${BSPDIR}/sources/openembedded-core/meta \