Bug 4932

Summary: Busybox doe not compile with arm-2009q1
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Laszlo Papp <lpapp>
Component: coreAssignee: Laszlo Papp <lpapp>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Low CC: kergoth, meta.mr.watcher, meta.watcher, net147, ross.burton, sgw
Version: unspecified   
Target Milestone: 1.5   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
local.conf none

Description Laszlo Papp 2013-07-28 09:25:39 UTC
Created attachment 1374 [details]
local.conf

Just to make it clear, this is a blocker issue for now, and Jonathan Liu claimed to be able to reproduce this. bblayers.conf is the default.

Trying to build poky master head with meta-sourcery master HEAD by invoking the command "bitbake core-image-minimal", and using the following toolchain: 

https://developer.ridgerun.com/wiki/index.php/Code_Sourcery_ARM_toolchain_2009q1-203

|   arm-none-linux-gnueabi-gcc  -march=armv5te -marm -mthumb-interwork --sysroot=/home/lpapp/Projects/poky/build/tmp/sysroots/qemuarm -Wp,-MD,miscutils/.microcom.o.d   -std=gnu99 -Iinclude -Ilibbb  -include include/autoconf.h -D_GNU_SOURCE -DNDEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D"BB_VER=KBUILD_STR(1.21.1)" -DBB_BT=AUTOCONF_TIMESTAMP  -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g -feliminate-unused-debug-types   -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(microcom)"  -D"KBUILD_MODNAME=KBUILD_STR(microcom)" -c -o miscutils/microcom.o miscutils/microcom.c
|   arm-none-linux-gnueabi-gcc  -march=armv5te -marm -mthumb-interwork --sysroot=/home/lpapp/Projects/poky/build/tmp/sysroots/qemuarm -Wp,-MD,miscutils/.rfkill.o.d   -std=gnu99 -Iinclude -Ilibbb  -include include/autoconf.h -D_GNU_SOURCE -DNDEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D"BB_VER=KBUILD_STR(1.21.1)" -DBB_BT=AUTOCONF_TIMESTAMP  -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g -feliminate-unused-debug-types   -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(rfkill)"  -D"KBUILD_MODNAME=KBUILD_STR(rfkill)" -c -o miscutils/rfkill.o miscutils/rfkill.c
| miscutils/rfkill.c:23:26: error: linux/rfkill.h: No such file or directory
| miscutils/rfkill.c: In function 'rfkill_main':
| miscutils/rfkill.c:34: error: storage size of 'event' isn't known
| miscutils/rfkill.c:59: error: 'RFKILL_TYPE_ALL' undeclared (first use in this function)
| miscutils/rfkill.c:59: error: (Each undeclared identifier is reported only once
| miscutils/rfkill.c:59: error: for each function it appears in.)
| miscutils/rfkill.c:78: error: 'RFKILL_EVENT_SIZE_V1' undeclared (first use in this function)
| miscutils/rfkill.c:118: error: 'RFKILL_OP_CHANGE_ALL' undeclared (first use in this function)
| miscutils/rfkill.c:123: error: 'RFKILL_OP_CHANGE' undeclared (first use in this function)
| miscutils/rfkill.c:34: warning: unused variable 'event'
| make[1]: *** [miscutils/rfkill.o] Error 1
| make[1]: Leaving directory `/home/lpapp/Projects/poky/build/tmp/work/armv5te-poky-linux-gnueabi/busybox/1.21.1-r0/busybox-1.21.1'
| make: *** [miscutils] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/lpapp/Projects/poky/build/tmp/work/armv5te-poky-linux-gnueabi/busybox/1.21.1-r0/temp/log.do_compile.8536)
ERROR: Task 895 (/home/lpapp/Projects/poky/meta/recipes-core/busybox/busybox_1.21.1.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 981 tasks of which 918 didn't need to be rerun and 1 failed.
No currently running tasks (980 of 1617)

Summary: 1 task failed:
  /home/lpapp/Projects/poky/meta/recipes-core/busybox/busybox_1.21.1.bb, do_compile
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Comment 1 Laszlo Papp 2013-07-28 09:46:16 UTC
Forgot to mention, but it may be useful: I get a full build nicely with arm-2013.05.
Comment 2 Laszlo Papp 2013-07-28 21:15:02 UTC
find /usr/local/arm-2009q1/ -name rfkill.h -> nothing.

find /usr/local/arm-2013.05/ -name rfkill.h ->
/usr/local/arm-2013.05/arm-none-linux-gnueabi/libc/usr/include/linux/rfkill.h

So, it is not a surprise. This is with busybox 1.21. The older version (1.19) worked just fine from denzil.

Here is the explanation: http://comments.gmane.org/gmane.linux.busybox/30999

http://git.busybox.net/busybox/commit/?h=1_21_stable&id=1cd769a154b04f4b058beed482a5dd7192437cdc

So, this should be disabled by default, just like in upstream!

Here is the offending line: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/busybox/busybox-1.21.1/defconfig#n708
Comment 3 Laszlo Papp 2013-07-28 22:16:45 UTC
git show d48585ca | grep RFKILL
-# CONFIG_RFKILL is not set
+CONFIG_RFKILL=y

This change introduced this regression, albeit it was meant to be a simple upgrade...
Comment 4 Laszlo Papp 2013-07-28 22:37:36 UTC
See the change in here: http://patches.openembedded.org/patch/54625/
Comment 5 Laszlo Papp 2013-07-29 06:09:45 UTC
It is still not working unfortunately.

It seems that the defconfig is not copied to the busybox build as it. It needs some more investigation. Got a clue?

Not sure if this can cause it: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/busybox/busybox.inc#n69
Comment 6 Laszlo Papp 2013-07-29 11:00:12 UTC
Provided, the contribution is not welcome, changing the status back as I am not willing to work on it anymore.
Comment 7 Laszlo Papp 2013-08-01 14:47:17 UTC
This dpeends on 4964.
Comment 8 Ross Burton 2013-09-25 09:50:57 UTC
arm2009q1 not providing rfkill isn't an oe-core bug, I've filed a meta-sourcery bug here: https://github.com/MentorEmbedded/meta-sourcery/issues/17.  Consider this bit RESOLVED MOVED.

There's an example of building busybox without rfkill in meta-skeleton, so that works.
Comment 9 Laszlo Papp 2013-09-25 09:53:30 UTC
OK, thanks, although it might not be accepted as a bug upstream in the end.

This is a somewhat old toolchain. Not sure, MG will find it worth spending the time with.