Skip to content
Yocto Project build errors

ERROR: Nothing PROVIDES 'libfoo'

Why bitbake reports that nothing provides a dependency, and how to fix it by adding the right layer or fixing the name.

parsing / task graph
ERROR: Nothing PROVIDES 'libfoo' (but /path/to/myapp_1.0.bb DEPENDS on or otherwise requires it)

What happens

Before running any task, bitbake builds the task graph. It stops when a recipe lists a dependency (in DEPENDS, RDEPENDS or an image's IMAGE_INSTALL) that no recipe in your configured layers provides.

Why

  • The name is wrong (a recipe name instead of a package name, or a typo).
  • The layer that contains the provider is not in conf/bblayers.conf.
  • The provider recipe exists but is skipped: incompatible license, COMPATIBLE_MACHINE, or a missing DISTRO_FEATURES entry. bitbake prints a "was skipped" note just above the error.

How to fix it

  1. Look for the skip reason: bitbake -s | grep <name> and read the lines just above the error.
  2. If the provider lives in a layer you do not have, find it in the OpenEmbedded layer index and add it: bitbake-layers add-layer ../layers/meta-openembedded/meta-oe.
  3. If the name is wrong, fix it in the recipe or .bbappend that requires it.