如何将缺少的库(或可执行文件或其他文件)添加到Yocto/bitbake
对于我正在运行的应用程序,存在运行时错误,因为它找不到如何将缺少的库(或可执行文件或其他文件)添加到Yocto/bitbake,yocto,bitbake,openembedded,Yocto,Bitbake,Openembedded,对于我正在运行的应用程序,存在运行时错误,因为它找不到libwayland client.so.0共享对象。我如何知道哪个软件包提供了它以及在哪里添加它。我按如下所示进行了尝试,但它给了我一个无提供的错误 CORE\u IMAGE\u EXTRA\u INSTALL+=“libwayland客户端”在构建Yocto映像时,通常不使用单个文件 倒序 将软件包安装到映像中 您可以使用配方构建包 你可以在图层中找到(或者作为最后的手段写下)食谱 通常,当缺少某些内容时,请采取以下步骤: 检查layer
libwayland client.so.0
共享对象。我如何知道哪个软件包提供了它以及在哪里添加它。我按如下所示进行了尝试,但它给了我一个无提供的错误
CORE\u IMAGE\u EXTRA\u INSTALL+=“libwayland客户端”
在构建Yocto映像时,通常不使用单个文件
倒序
将软件包安装到映像中
您可以使用配方构建包
你可以在图层中找到(或者作为最后的手段写下)食谱李>
通常,当缺少某些内容时,请采取以下步骤:
检查layerindex,它告诉您在layeropenembedded core
添加有问题的图层openembedded core
已经包含在Yocto的poky
中(直接在名称meta
下,只是为了让新来者感到困惑…),因此在本例中没有添加任何内容
创建相关配方的环境列表,bitbake-e wayland>wayland.env
检查有问题的配方创建了哪些包装grep^packages=wayland.env
。在这种情况下很容易,因为实际上只有一个包wayland
(-debug
,-dev
等是不包含库的特殊用途)
按包名将包添加到映像中。如何做到这一点完全取决于您创建的图像类型。问题中给出的变量名适用于某些图像,但并非所有图像。在手册中搜索IMAGE\u INSTALL
,查看其他选项
一旦您构建了有问题的配方,您还可以检查包中包含哪些文件(在本例中,配方名称和包名称相同,但情况并非总是如此。一些配方构建了多个适合安装的包,因此显然它们需要使用不同的名称)
在构建Yocto图像时,通常不使用单个文件
倒序
将软件包安装到映像中
您可以使用配方构建包
你可以在图层中找到(或者作为最后的手段写下)食谱李>
通常,当缺少某些内容时,请采取以下步骤:
检查layerindex,它告诉您在layeropenembedded core
添加有问题的图层openembedded core
已经包含在Yocto的poky
中(直接在名称meta
下,只是为了让新来者感到困惑…),因此在本例中没有添加任何内容
创建相关配方的环境列表,bitbake-e wayland>wayland.env
检查有问题的配方创建了哪些包装grep^packages=wayland.env
。在这种情况下很容易,因为实际上只有一个包wayland
(-debug
,-dev
等是不包含库的特殊用途)
按包名将包添加到映像中。如何做到这一点完全取决于您创建的图像类型。问题中给出的变量名适用于某些图像,但并非所有图像。在手册中搜索IMAGE\u INSTALL
,查看其他选项
一旦您构建了有问题的配方,您还可以检查包中包含哪些文件(在本例中,配方名称和包名称相同,但情况并非总是如此。一些配方构建了多个适合安装的包,因此显然它们需要使用不同的名称)
$ oe-pkgdata-util list-pkg-files wayland
wayland:
/usr/lib/libwayland-client.so.0
/usr/lib/libwayland-client.so.0.3.0
/usr/lib/libwayland-cursor.so.0
/usr/lib/libwayland-cursor.so.0.0.0
/usr/lib/libwayland-server.so.0
/usr/lib/libwayland-server.so.0.1.0