Bug 1034

Summary: Missing meta/conf/distro/include/default-providers.inc
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Darren Hart <dvhart>
Component: meta-yoctoAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: High CC: josh, poky.bs.watcher, poky.watcher, sgw
Version: unspecified   
Target Milestone: 1.1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Darren Hart 2011-05-11 14:05:00 UTC
Attempting to do a clean core-image-sato build for qemux86 on current master results in the following error. Confirmed on two separate build systems.

Loading cache: 100% |###########################################| ETA:  00:00:00
Loaded 1016 entries from dependency cache.
WARNING: No bb files matched BBFILE_PATTERN_yocto '^/home/dvhart/source/poky.git/meta-yocto/'

OE Build Configuration:
BB_VERSION        = "1.11.0"
METADATA_BRANCH   = "master"
METADATA_REVISION = "ad0594fef2d22f302533608ccb32b4e432d818e8"
TARGET_ARCH       = "i586"
TARGET_OS         = "linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "1.0+snapshot-20110511"
TARGET_FPU        = ""

NOTE: Resolving any missing task queue dependencies
NOTE: Runtime target '${VIRTUAL-RUNTIME_update-alternatives}' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['${VIRTUAL-RUNTIME_update-alternatives}']
NOTE: Runtime target 'task-core-boot' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['task-core-boot', '${VIRTUAL-RUNTIME_update-alternatives}']
ERROR: Required build target 'core-image-sato' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-sato', 'task-core-boot', '${VIRTUAL-RUNTIME_update-alternatives}']
NOTE: multiple providers are available for opkg-native (opkg-native, opkg-nogpg-native)
NOTE: consider defining a PREFERRED_PROVIDER entry to match opkg-native
NOTE: multiple providers are available for virtual/update-alternatives-native (update-alternatives-dpkg-native, opkg-nogpg-native, opkg-native)
NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/update-alternatives-native
ERROR: Nothing RPROVIDES '${VIRTUAL-RUNTIME_update-alternatives}' (but /home/dvhart/source/poky.git/meta/recipes-core/tasks/task-core-boot.bb RDEPENDS on or otherwise requires it)
ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/command.py", line 200, in buildTargets
    command.cooker.buildTargets(pkgs_to_build, task)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/cooker.py", line 833, in buildTargets
    taskdata.add_unresolved(localdata, self.status)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 540, in add_unresolved
    self.remove_runtarget(self.getrun_id(target))
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 517, in remove_runtarget
    self.fail_fnid(fnid, missing_list)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 476, in fail_fnid
    self.remove_runtarget(target, missing_list)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 517, in remove_runtarget
    self.fail_fnid(fnid, missing_list)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 471, in fail_fnid
    self.remove_buildtarget(target, missing_list)
  File "/home/dvhart/source/poky.git/bitbake/lib/bb/taskdata.py", line 501, in remove_buildtarget
    raise bb.providers.NoProvider(target)
NoProvider: core-image-sato
Comment 1 Joshua Lock - Disabled 2011-05-11 15:02:56 UTC
Looks like some definitions have disappeared:

PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
PREFERRED_PROVIDER_opkg-nativesdk ?= "opkg-nativesdk"
EXTRAOPKGCONFIG = "poky-feed-config-opkg"
Comment 2 Darren Hart 2011-05-11 15:09:38 UTC
Bisecting this brings me to this commit:

044853350b3eff5342e23d6d4fe03e0ef0a9b66a is the first bad commit
commit 044853350b3eff5342e23d6d4fe03e0ef0a9b66a
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Tue May 10 12:53:25 2011 +0100

    bitbake.conf: Include the new default-providers.inc and default-versions.inc files
    
    These are the minimal defaults to allow OE-Core to function standalone with
    no distro set and are constucted such that the distro can either override values,
    or totally replace the include file entirely as needed.
    
    (From OE-Core rev: b34d5e93fab4274e1a56f446e2ba4756d614cc47)
    
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

:040000 040000 7dbf192fce986767ca6cd05245a180393932bd66 f5eef5dcfc8133ae537c8713e7c4efac2391ef03 M      meta-yocto
:040000 040000 8772681761539de188b152e1ddb6af790c61b269 f44cb311bc2f2dce9cc5f21554a29eae564a8709 M      meta
Comment 3 Joshua Lock - Disabled 2011-05-11 15:11:45 UTC
The include conf/distro/include/default-versions.inc was added to bitbake.conf but no such file has been added to the tree so we're missing PREFERRED_PROVIDERS entries.
Comment 4 Joshua Lock - Disabled 2011-05-11 15:12:59 UTC
Looks like a merge issue? The file exists in oe-core: http://git.openembedded.org/cgit.cgi/openembedded-core/tree/meta/conf/distro/include/default-providers.inc
Comment 5 Darren Hart 2011-05-11 15:18:27 UTC
Adding that file to meta/conf/distro/include resolves the issue.
Comment 6 Darren Hart 2011-05-11 15:54:23 UTC
RP pushed a fix: 

commit bc367526f85ec11f82826fa5ce6607b9e73f9273
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Wed May 11 23:47:06 2011 +0100

    Add files missing from previous change
    
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>