我正在尝试使用 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.
***
Run Code Online (Sandbox Code Playgroud)
因此,我将其添加ncurses到IMAGE_INSTALL图像配方中的列表中,就像我安装了 dropbear 等其他软件包一样,并确认meta提供这些软件包的层已包含在bblayers.conf文件中。然后
TOOLCHAIN_HOST_TASK += "nativesdk-ncurses nativesdk-ncurses-dev"
Run Code Online (Sandbox Code Playgroud)
还被添加到图像的配方中,以告诉 bitbake 为主机的 sdk 提供对 ncurses 的访问权限。我尝试添加几个变体nativesdk-ncurses-devel,以更接近地匹配错误所要求的内容,但图像无法用它来构建。之后,重新构建了镜像和sdk并重新获取了源代码,但在尝试交叉编译程序时,它仍然要求Install ncurses (ncurses-devel) and try again.
所以我的问题是:
ncurses如何正确添加到Yocto的主机sdk环境中?我缺少一个步骤吗?所需的 ncurses 文件与层中找到的文件不一样吗meta?
任何帮助将不胜感激。
-补丁
我是 Yocto 和 Bitbake 的新手。我正在通过 Ubuntu 上的 qemu 模拟器运行我的 yocto 机器,并尝试使用该meta-selftest层来了解如何安装新层。我已将meta-selftest文件下载到其余目录所在的meta-目录中,并将该meta-selftest目录的路径添加到bblayers.conf文件中。运行bitbake-layers show-layers命令给出输出
layer path priority
==========================================================================
meta /home/[my name]/Documents/poky/meta 5
meta-poky /home/[my name]/Documents/poky/meta-poky 5
meta-yocto-bsp /home/[my name]/Documents/poky/meta-yocto-bsp 5
meta-selftest /home/[my name]/Documents/poky/meta-selftest 5
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行时bitbake meta-selftest,出现错误:
Loading cache: 100%
Loaded 1294 entries from dependency cache.
ERROR: Nothing PROVIDES 'meta-selftest'
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Run Code Online (Sandbox Code Playgroud)
这个错误是什么意思?我检查了meta-selftest的依赖项,它没有任何依赖项,所以我觉得这个错误并不是说存在依赖项问题,但是我找不到任何关于这个错误告诉我什么的明确文档。我有一种模糊的感觉,这意味着 bitbake can't find meta-selftest …