Question

I'm running bitbake inside of the openembedded environment, and I think it's missing 99% of my recipe files. I've edited the local.conf file in my conf directory, and it has the line:

BBFILES := "/blah/blah/blah/rootfs/openembedded/recipes/*/*.bb"

And if I check that path with:

ls -l /blah/blah/blah/rootfs/openembedded/recipes/*/*.bb

I see tons of bb files.

I think given the documentation that's all I need to do, but when I run bitbake, I get the following error:

bitbake base-image
NOTE: Handling BitBake files: \ (0015/0015) [100 %]
Parsing of 15 .bb files complete (14 cached, 1 parsed). 15 targets, 0 skipped, 0 masked, 0 errors.
ERROR: Nothing PROVIDES 'base-image'

Build Configuration:
BB_VERSION        = "1.10.2"
METADATA_BRANCH   = "<unknown>"
METADATA_REVISION = "8c6a371"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "at91sam9x5ek"
DISTRO            = "angstrom"
DISTRO_VERSION    = "v20131031"
TARGET_FPU        = "soft"

Unknown Event: <bb.event.NoProvider instance at 0x1b70a28>
ERROR: Nothing PROVIDES 'base-image'
Command execution failed: Traceback (most recent call last):
  File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/command.py", line 88, in runAsyncCommand
commandmethod(self.cmds_async, self, options)
  File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/command.py", line 174, in buildTargets
command.cooker.buildTargets(pkgs_to_build, task)
  File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/cooker.py", line 782, in buildTargets
taskdata.add_provider(localdata, self.status, k)
  File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/taskdata.py", line 354, in add_provider
self.add_provider_internal(cfgData, dataCache, item)
  File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/taskdata.py", line 383, in add_provider_internal
raise bb.providers.NoProvider(item)
NoProvider: base-image

So, the path doesn't appear to be wrong, and I have hundreds of bb files, but bitbake only sees 15 recipes. Any idea what I missed? Unfortunately the documentation which comes with my particular board is several years out of date, so not much matches up exactly with OE or Yocto anymore.

Était-ce utile?

La solution

I turns out there was a local.conf belonging to a different layer which was overriding my BBFILES variable. I fixed the path and that took care of the problem.

Not sure if it's useful to anyone, but to get my recipes from multiple layers to work together my BBFILES line looks like this.

 BBFILES := "${HOME}/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/recipes/*/*.bb"
 BBFILES += "${HOME}/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/oe_at91sam/recipes/*/*.bb"

I had forgotten one could append with +=.

Autres conseils

I recently had a similar problem. I added a recipe and received following errors. Not entrirely descriptive in pointing to the underlying issue.
I had added to IMAGE_INSTALL_append = " maxtouch "

wwright@sammy:~/dev/prod/angstrom$ bb -v atmel-maxtouch -c fetch NOTE: Started PRServer with DBfile: /home/wwright/dev/prod/angstrom/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 58436, PID: 37407 Loading cache: 100% |######################################################################################| ETA: 00:00:00 Loaded 2723 entries from dependency cache. WARNING: No recipes available for: /home/wwright/dev/prod/angstrom/sources/meta-angstrom/recipes-tweaks/openjdk/openjdk-7_%.bbappend ***ERROR: Nothing PROVIDES 'maxtouch'***

my layer.conf file

# We have recipes-* directories, add to BBFILES BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend \ "

I had created a new dir structure and by doing so an extra dir level I added a recipe in meta-methode/recipes-core/touch/atmel which was not being found The Solution add dir level to BBFILES var.

BBFILES += " ${LAYERDIR}/recipes-*/*/*/*.bb"

meta-methode/recipes-core
├── base-files
│   ├── base-files_3.0.%.bbappend
│   └── files
│       └── display-settings.sh
├── init-ifupdown
│   ├── files
│   │   └── interfaces
│   └── init-ifupdown_%.bbappend
├── systemd
│   ├── files
│   ├── systemd-serialgetty.bbappend
│   └── systemd-serialgetty.bb.save
├── touchscreen
│   └── atmel
│       └── maxtouch_1.23.bb
└── util-linux
    └── util-linux_2.%.bbappend

Recently. i.e. could not tell if I was getting my Append file to run. (mispelled bbapend) So, found it helpful for debugging Edit recipexx.bbappend add a Variable or search for a var that is already in the append.

MYVAR = "MyAppend"

bitbake-layers show-appends | grep MYVAR

or...

bitbake -v recipexx -c build -f -D | grep MYVAR

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top