如何将缺少的库(或可执行文件或其他文件)添加到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,它告诉您在layer
    openembedded core
  • 添加有问题的图层
    openembedded core
    已经包含在Yocto的
    poky
    中(直接在名称
    meta
    下,只是为了让新来者感到困惑…),因此在本例中没有添加任何内容
  • 创建相关配方的环境列表,
    bitbake-e wayland>wayland.env
  • 检查有问题的配方创建了哪些包装
    grep^packages=wayland.env
    。在这种情况下很容易,因为实际上只有一个包
    wayland
    -debug
    -dev
    等是不包含库的特殊用途)
  • 按包名将包添加到映像中。如何做到这一点完全取决于您创建的图像类型。问题中给出的变量名适用于某些图像,但并非所有图像。在手册中搜索
    IMAGE\u INSTALL
    ,查看其他选项
  • 一旦您构建了有问题的配方,您还可以检查包中包含哪些文件(在本例中,配方名称和包名称相同,但情况并非总是如此。一些配方构建了多个适合安装的包,因此显然它们需要使用不同的名称)


    在构建Yocto图像时,通常不使用单个文件

    倒序

  • 将软件包安装到映像中
  • 您可以使用配方构建包
  • 你可以在图层中找到(或者作为最后的手段写下)食谱 通常,当缺少某些内容时,请采取以下步骤:

  • 检查layerindex,它告诉您在layer
    openembedded 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