我试图使用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.
***
所以我将ncurses
添加到镜像配方的IMAGE_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
层中找到的文件不同?
非常感谢您的帮助。
-Patches
TOOLCHAIN_HOST_TASK += "foo"
,你需要使用TOOLCHAIN_HOST_TASK_append = " foo"
。我看到过一篇邮件列表的帖子讲述了这个问题,但我现在找不到了。要点是用?=
定义后,+=
会完全覆盖它。 - jpkotta