我遇到了一个问题,即我使用的配方不再定义变量libdir
。它似乎只有libdir_native
.
我正在使用的这个食谱是 poco-1.7.5 用于openembedded
Morty
,所以我认为这个食谱应该可以正常工作。
由于缺少libdir
变量,没有打包任何已安装的文件,这搞砸了我的构建。
在短期内,我已经能够通过创建一个append
文件来解决问题,该文件可以libdir = "${libdir_native}
但这似乎不是必需的。
我唯一能想到的是Bitbake.conf
文件没有被Bitbake
正确获取(或者使用了错误的.conf
(。
任何建议将不胜感激。
根据注释,这似乎是问题所在:Poco 上游将库安装到/usr/lib/中,但 yocto 打包希望它们位于 ${libdir} 中,这可能与/usr/lib/不同。
最常见的原因(对于 cmake 配方(是上游项目不支持CMAKE_INSTALL_LIBDIR。检查上游构建系统是否有一些指定libdir的替代方法 - 这在cmake项目中非常常见。如果没有,您可以在上游构建系统中添加对CMAKE_INSTALL_LIBDIR的支持(并在配方中添加补丁(。
另一种方法是添加一个do_install_append()
,检查 ${libdir} 是否不是/usr/lib/,并将所有内容从 ${D}/usr/lib/移动到 ${D}${libdir}。