向yocto主机sdk添加软件包
我正试图使用Yocto的sdk工具为Yocto qemu交叉编译一个程序。设置sdk并将其寻源后,尝试交叉编译程序失败:向yocto主机sdk添加软件包,sdk,ncurses,qemu,yocto,bitbake,Sdk,Ncurses,Qemu,Yocto,Bitbake,我正试图使用Yocto的sdk工具为Yocto qemu交叉编译一个程序。设置sdk并将其寻源后,尝试交叉编译程序失败: *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. ***
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
因此,我将ncurses
添加到图像配方中的IMAGE\u INSTALL
列表中,与我安装其他软件包(如dropbear)的方式相同,并确认提供这些软件包的meta
层包含在bblayers.conf
文件中。然后
TOOLCHAIN_HOST_TASK += "nativesdk-ncurses nativesdk-ncurses-dev"
还将添加到映像的配方中,以告知bitbake允许主机的sdk访问ncurses。我尝试在nativesdk ncurses devel
上添加几个变体,以更接近错误要求的内容,但无法使用它生成图像。在此之后,镜像和sdk被重新构建和重新来源,但在尝试交叉编译程序时,它仍然要求安装ncurses(ncurses-devel),然后重试
所以我的问题是:
如何将ncurses正确添加到Yocto的主机sdk环境中?有我错过的一步吗?所需的ncurses文件是否与meta
层中的文件不同
任何帮助都将不胜感激
-补丁程序请在nativesdk-packagegroup-sdk-host.bb中添加所需的包作为RDEPENDS_${PN}
你不能做工具链\u主机\u任务+=“foo”
,你需要做工具链\u主机\u任务\u append=“foo”
。我看到一个关于这个的邮件列表,但我再也找不到了。要点是,它是用?=
定义的,因此+=
完全覆盖它。这似乎实际上是正确的答案,因为如果有人在没有该软件包组(即自定义工具链)的情况下制作sdk,那么使用nativesdk-packagegroup-sdk-host.bb似乎不起作用,当将此解决方案放入local.conf中以添加到上述内容时,该解决方案似乎起作用: