【发布时间】:2019-02-28 13:45:55
【问题描述】:
对于我正在运行的应用程序,出现运行时错误,因为它找不到libwayland-client.so.0 共享对象。我怎么知道哪个包提供了它以及我在哪里添加它。我尝试如下所示,但它给了我一个Nothing PROVIDES 错误。
CORE_IMAGE_EXTRA_INSTALL += "libwayland-client"
【问题讨论】:
标签: yocto bitbake openembedded
对于我正在运行的应用程序,出现运行时错误,因为它找不到libwayland-client.so.0 共享对象。我怎么知道哪个包提供了它以及我在哪里添加它。我尝试如下所示,但它给了我一个Nothing PROVIDES 错误。
CORE_IMAGE_EXTRA_INSTALL += "libwayland-client"
【问题讨论】:
标签: yocto bitbake openembedded
在构建 Yocto 图像时通常不会使用单个文件
倒序
通常当缺少某些东西时,您会采取以下步骤:
openembedded-core 中有一个名为wayland 的配方
openembedded-core 已经包含在 Yocto 的 poky 中(直接在名称 meta 下,只是为了混淆新人......),所以在这个例子中没有添加任何内容bitbake -e wayland >wayland.env
grep ^PACKAGES= wayland.env。在这种情况下很容易,因为实际上只有一个包wayland(-debug、-dev 等是不包含库的特殊用途)IMAGE_INSTALL https://www.yoctoproject.org/docs/2.6.1/mega-manual/mega-manual.html 以获取其他选项。一旦您构建了有问题的配方,您还可以检查包中包含哪些文件(在这种情况下,配方名称和包名称相同,但情况并非总是如此。有些配方构建了多个适合的包用于安装,所以显然他们需要使用不同的名称)
$ 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
【讨论】: