对于我正在运行的应用程序,有一个运行时错误,因为它找不到libwayland-client.so.0
共享对象。我如何知道哪个包提供它以及我在哪里添加它。我尝试如下所示,但它给了我一个Nothing PROVIDES
错误。
CORE_IMAGE_EXTRA_INSTALL += "libwayland-client"
在构建Yocto图像时,通常不使用单个文件
以相反的顺序
通常,当缺少某些内容时,请执行以下步骤:
wayland
中有一个名为openembedded-core
的配方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