Reputation: 43
For an application I am running, there is a run time error as it cannot find libwayland-client.so.0
shared object. How do I know which package provides it and where do I add it. I tried as shown below but it gave me a Nothing PROVIDES
error.
CORE_IMAGE_EXTRA_INSTALL += "libwayland-client"
Upvotes: 0
Views: 2362
Reputation: 2317
You don't typically work with single files when building Yocto images
In reverse order
Generally when something is missing you take the following steps:
wayland
in layer openembedded-core
openembedded-core
is already contained in Yocto's poky
(directly under the name meta
, just to confuse the newcomer...), so nothing to add in this examplebitbake -e wayland >wayland.env
grep ^PACKAGES= wayland.env
. In this case it is easy because there is really only one package wayland
(-debug
, -dev
etc. are special purpose that would not contain the library)IMAGE_INSTALL
in the manual https://www.yoctoproject.org/docs/2.6.1/mega-manual/mega-manual.html for other options.Once you have built the recipe in question you can also check what files are contained in a package (In this case recipe name and package name are identical, but that is not always the case. Some recipes build more than one package suitable for installation, so obviously they need to use different names)
$ 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
Upvotes: 3