Bug 9270 - devtool modify on the kernel fails to build
Summary: devtool modify on the kernel fails to build
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 2.1
Hardware: x86 Multiple
: Medium+ major
Target Milestone: 2.1 M4
Assignee: Markus Lehtonen
QA Contact: Bogdan Alexandru Voiculescu
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-03-15 21:18 UTC by Paul Eggleton
Modified: 2016-05-10 10:09 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Eggleton 2016-03-15 21:18:00 UTC
If you run devtool modify virtual/kernel followed by bitbake virtual/kernel, do_compile fails with the following error:

----- snip -----
|   Using /home/paul/poky/poky/build/workspace/sources/linux-yocto as source for kernel
|   /home/paul/poky/poky/build/workspace/sources/linux-yocto is not clean, please run 'make mrproper'
|   in the '/home/paul/poky/poky/build/workspace/sources/linux-yocto' directory.
| /home/paul/poky/poky/build/workspace/sources/linux-yocto/Makefile:968: recipe for target 'prepare3' failed
----- snip -----
Comment 1 Markus Lehtonen 2016-03-16 12:42:15 UTC
Ugh, the .config in srctree is breaking the build. I'll send a patch to fix this.
Comment 2 Markus Lehtonen 2016-03-16 15:56:34 UTC
Patch sent for review:
http://lists.openembedded.org/pipermail/openembedded-core/2016-March/119084.html
Comment 4 Bogdan Alexandru Voiculescu 2016-05-10 10:09:55 UTC
Verified on master 
"master:f7b520878babbaa7527151f22c031ae160512753"

devtool modify virtual/kernel
NOTE: Creating workspace layer in /.............../build/workspace
NOTE: Enabling workspace layer in bblayers.conf
Parsing recipes..done.
NOTE: Mapping virtual/kernel to linux-yocto
Parsing recipes..done.
NOTE: Fetching linux-yocto...
NOTE: Unpacking...
NOTE: Doing kernel checkout...
Already on 'standard/base'
Your branch is up-to-date with 'origin/standard/base'.
NOTE: Patching...
NOTE: Executing do_validate_branches...
NOTE: Executing do_kernel_metadata...
[INFO] validating against known patches  (qemux86-standard-meta)
   mark --> common-pc-standard.scc
   mark --> standard.scc
   mark --> base.scc
   mark <-- base.scc
      branch ===> standard/base (reuse)
   mark --> kgdb.scc
   mark <-- kgdb.scc
   mark --> firmware.scc
   mark <-- firmware.scc
   mark --> lttng.scc
   mark <-- lttng.scc
   mark --> blktrace.scc
   mark <-- blktrace.scc
   mark --> systemtap.scc
   mark --> kprobes.scc
   mark <-- kprobes.scc
   mark --> uprobe-enable.scc
   mark <-- uprobe-enable.scc
   mark <-- systemtap.scc
   mark --> utrace.scc
   mark <-- utrace.scc
   mark --> seccomp.scc
   mark <-- seccomp.scc
   mark --> arm.scc
   mark --> v7-A15.scc
   mark <-- v7-A15.scc
   mark <-- arm.scc
   mark --> mips.scc
   mark <-- mips.scc
   mark --> powerpc.scc
   mark <-- powerpc.scc
   mark --> x86.scc
   mark <-- x86.scc
   mark --> hrt.scc
   mark <-- hrt.scc
   mark --> ftrace.scc
   mark <-- ftrace.scc
   mark --> uprobe.scc
   mark --> uprobe-enable.scc
   mark <-- uprobe-enable.scc
   mark <-- uprobe.scc
   mark --> kprobes.scc
   mark <-- kprobes.scc
   mark --> patches.scc
   mark --> drivers.scc
   mark <-- drivers.scc
   mark --> build.scc
   mark <-- build.scc
   mark --> exports.scc
   mark <-- exports.scc
   mark --> boot.scc
   mark <-- boot.scc
   mark --> net.scc
   mark <-- net.scc
   mark --> debug.scc
   mark <-- debug.scc
   mark --> misc.scc
   mark <-- misc.scc
   mark <-- patches.scc
   mark --> initramfs.scc
   mark <-- initramfs.scc
   mark --> yaffs2.scc
   mark <-- yaffs2.scc
   mark --> aufs.scc
   mark <-- aufs.scc
   mark --> tmpfs-posix-acl.scc
   mark <-- tmpfs-posix-acl.scc
   mark --> cgroups.scc
   mark --> namespaces.scc
   mark <-- namespaces.scc
   mark <-- cgroups.scc
   mark --> net_sched.scc
   mark <-- net_sched.scc
   mark --> kexec.scc
   mark <-- kexec.scc
   mark --> cryptodev.scc
   mark <-- cryptodev.scc
   mark --> vfat.scc
   mark <-- vfat.scc
   mark --> kvm.scc
   mark <-- kvm.scc
   mark --> tipc.scc
   mark <-- tipc.scc
   mark --> xip.scc
   mark <-- xip.scc
   mark --> oprofile.scc
   mark <-- oprofile.scc
   mark --> ramconsole.scc
   mark <-- ramconsole.scc
   mark --> vdso.scc
   mark <-- vdso.scc
   mark --> fuse.scc
   mark <-- fuse.scc
   mark --> 8250.scc
   mark <-- 8250.scc
   mark --> uptime.scc
   mark <-- uptime.scc
   mark --> ktest.scc
   mark <-- ktest.scc
   mark --> perf.scc
   mark <-- perf.scc
   mark --> input.scc
   mark <-- input.scc
   mark --> bfq.scc
   mark <-- bfq.scc
   mark --> backports.scc
   mark <-- backports.scc
   mark --> devtmpfs.scc
   mark <-- devtmpfs.scc
   mark --> debugfs.scc
   mark <-- debugfs.scc
   mark --> btrfs.scc
   mark <-- btrfs.scc
   mark --> ext4.scc
   mark <-- ext4.scc
   mark --> ipsec.scc
   mark <-- ipsec.scc
   mark --> ipv6.scc
   mark --> ipsec6.scc
   mark --> ipsec.scc
   mark <-- ipsec.scc
   mark <-- ipsec6.scc
   mark <-- ipv6.scc
   mark --> ip_nf.scc
   mark <-- ip_nf.scc
   mark --> ip6_nf.scc
   mark <-- ip6_nf.scc
   mark --> bridge.scc
   mark <-- bridge.scc
   mark --> systemd.scc
   mark <-- systemd.scc
   mark --> rfkill.scc
   mark <-- rfkill.scc
   mark <-- standard.scc
   mark --> common-pc.scc
   mark --> efi-ext.scc
   mark <-- efi-ext.scc
   mark --> x86.scc
   mark --> x86_base.scc
   mark --> efi.scc
   mark <-- efi.scc
   mark --> hpet.scc
   mark <-- hpet.scc
   mark --> no_hz.scc
   mark <-- no_hz.scc
   mark <-- x86_base.scc
   mark --> smp.scc
   mark <-- smp.scc
   mark --> hz_1000.scc
   mark <-- hz_1000.scc
   mark <-- x86.scc
   mark --> amd.scc
   mark <-- amd.scc
   mark --> intel.scc
   mark <-- intel.scc
   mark --> pci.scc
   mark <-- pci.scc
   mark --> ehci-hcd.scc
   mark --> usb-base.scc
   mark <-- usb-base.scc
   mark <-- ehci-hcd.scc
   mark --> uhci-hcd.scc
   mark --> usb-base.scc
   mark <-- usb-base.scc
   mark <-- uhci-hcd.scc
   mark --> ohci-hcd.scc
   mark --> usb-base.scc
   mark <-- usb-base.scc
   mark <-- ohci-hcd.scc
   mark --> xhci-hcd.scc
   mark --> usb-base.scc
   mark <-- usb-base.scc
   mark <-- xhci-hcd.scc
   mark --> touchscreen-composite.scc
   mark --> usb-base.scc
   mark <-- usb-base.scc
   mark --> touchscreen.scc
   mark <-- touchscreen.scc
   mark <-- touchscreen-composite.scc
   mark --> intel-e100.scc
   mark <-- intel-e100.scc
   mark --> intel-e1xxxx.scc
   mark <-- intel-e1xxxx.scc
   mark --> iwlwifi.scc
   mark --> mac80211.scc
   mark <-- mac80211.scc
   mark <-- iwlwifi.scc
   mark --> iwlegacy.scc
   mark --> mac80211.scc
   mark <-- mac80211.scc
   mark <-- iwlegacy.scc
   mark --> i915.scc
   mark <-- i915.scc
   mark --> drm-gma500.scc
   mark <-- drm-gma500.scc
   mark --> bluetooth.scc
   mark <-- bluetooth.scc
   mark <-- common-pc.scc
   mark --> boot-live.scc
   mark <-- boot-live.scc
   mark --> usb-mass-storage.scc
   mark --> disk.scc
   mark --> scsi.scc
   mark <-- scsi.scc
   mark <-- disk.scc
   mark <-- usb-mass-storage.scc
   mark --> virtio.scc
   mark <-- virtio.scc
   mark --> media-usb-webcams.scc
   mark --> usb-base.cfg
   mark <-- usb-base.cfg
   mark --> media.scc
   mark <-- media.scc
   mark <-- media-usb-webcams.scc
   mark --> snd_hda_intel.scc
   mark <-- snd_hda_intel.scc
   mark <-- common-pc-standard.scc
   mark --> patch_marker.scc
   mark <-- patch_marker.scc
   mark --> nfsd-enable.scc
   mark <-- nfsd-enable.scc
   mark --> netfilter.scc
   mark <-- netfilter.scc
   mark --> virtio.scc
   mark <-- virtio.scc
   mark --> sound.scc
   mark <-- sound.scc
   mark --> paravirt_kvm.scc
   mark <-- paravirt_kvm.scc

<=== processed .kernel-meta/cfg/scratch/qemux86-standard-meta in 9 seconds
NOTE: Generating kernel config
NOTE: Executing do_kernel_configme...
[INFO] Configuring target/machine combo: "standard/qemux86"
[INFO] Pre-processed cfg file qemux86-standard-config created.
[INFO] processing of raw cfg data completed.

********************************************************************************
  Configuration stored in /tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build/.config
********************************************************************************

  To build with this kernel configuration, ensure a suitable toolchain
  is in your path for i386, note its common command prefix, and do:

   make O=/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build ARCH=i386 \
        CROSS_COMPILE=<cross-compile-prefix>

make: Entering directory `/tmp/devtoolu5KTcO/workdir/source'
make[1]: Entering directory `/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build'
  GEN     ./Makefile
scripts/kconfig/conf  --olddefconfig Kconfig
.config:4317:warning: override: reassigning to symbol LOCALVERSION
#
# configuration written to .config
#
make[1]: Leaving directory `/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build'
make: Leaving directory `/tmp/devtoolu5KTcO/workdir/source'
NOTE: Copying kernel config to srctree
NOTE: Source tree extracted to /................/build/workspace/sources/linux-yocto
NOTE: Recipe linux-yocto now set up to build from /........../build/workspace/sources/linux-yocto
$ bitbake virtual/kernel
Loading cache: 100% |############################################################################################################################################################| ETA:  00:00:00
Loaded 1302 entries from dependency cache.
Parsing recipes: 100% |##########################################################################################################################################################| Time: 00:00:01
Parsing of 871 .bb files complete (870 cached, 1 parsed). 1301 targets, 47 skipped, 0 masked, 0 errors.
NOTE: There are 1 recipes to be removed from sysroot qemux86, removing...
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.31.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "2.1+snapshot-20160510"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta
meta-poky
meta-yocto-bsp    = "master:f7b520878babbaa7527151f22c031ae160512753"
workspace         = "<unknown>:<unknown>"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
linux-yocto-4.4.3+git999-r0 do_compile: NOTE: linux-yocto: compiling from external source tree ................./build/workspace/sources/linux-yocto
NOTE: Tasks Summary: Attempted 377 tasks of which 357 didn't need to be rerun and all succeeded.