Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 109196 - genkernel 3.3.6 fails to build initrd on busybox compile failure
Summary: genkernel 3.3.6 fails to build initrd on busybox compile failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: Alpha Linux
: High normal (vote)
Assignee: Gentoo Genkernel Maintainers
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2005-10-13 12:46 UTC by Brian Parkhurst
Modified: 2005-12-16 12:10 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
genkernel.log from 3.3.8 release version (genkernel.log,137.82 KB, application/octet-stream)
2005-11-28 20:52 UTC, Brian Parkhurst
Details
busybox-1.00-rt-mdstart.plasmaroo.patch (busybox-1.00-rt-mdstart.plasmaroo.patch,2.58 KB, patch)
2005-12-11 13:23 UTC, Thomas Cort (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Parkhurst 2005-10-13 12:46:12 UTC
genkernel --no-clean all or initrd will fail
genkernel --no-clean kernel works

Failure is on busybox build:

attempts to use locally built busybox binary by the --busybox-bin flag fail with
unknown option.



Reproducible: Always
Steps to Reproduce:
1.genkernel --no-clean initrd on Alpha platform
2.
3.

Actual Results:  
genkernel failure on applets.h when building the busybox binary.

Expected Results:  
properly built busybox

Attempted workarounds (locally built busybox binary) don't work as the flags in
the genkernel program to use local busybox-bin are not recognized.

See http://archives.gentoo.org/ml/gentoo-dev/2004/02/msg_00668.xml

Portage 2.0.53_rc5 (default-linux/alpha/2005.0, gcc-3.4.4,
glibc-2.3.4.20041102-r1,glibc-2.3.2-r12, 2.6.13 alpha)
=================================================================
System uname: 2.6.13 alpha EV56
Gentoo Base System version 1.12.0_pre8
dev-lang/python:     2.2.3-r5, 2.3.5, 2.4.2
sys-apps/sandbox:    1.2.13
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="alpha ~alpha"
AUTOCLEAN="yes"
CBUILD="alpha-unknown-linux-gnu"
CFLAGS="-mcpu=ev56 -mtune=ev56 -O3 -pipe -mieee -mno-soft-float -mfp-regs"
CHOST="alpha-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref
/usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mcpu=ev56 -mtune=ev56 -O3 -pipe -mieee -mno-soft-float -mfp-regs"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.ccccom.com ftp://gentoo.ccccom.com
ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.netnitco.net"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="alpha X aalib arts berkdb bitmap-fonts cdr crypt cups curl dlloader eds
encode esd ev56 fam flac font-server foomaticdb fortran gdbm gif gnome gpm
gstreamer gtk gtk2 guile imagemagick imap imlib jpeg kde kerberos kerberosV ldap
libg++ libwww mad mailwrapper mikmod motif mozilla mp3 mpeg mysql ncurses nls
ogg oggvorbis opengl oss pam pdflib perl php pic png python qt quicktime
readline ruby samba sambai sasl sdl slang smb spell ssl tcltk tcpd tiff tls
truetype truetype-fonts type1-fonts udev vorbis winbind xine xml xml2 xmms xv
zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Comment 1 Brian Parkhurst 2005-10-14 12:10:20 UTC
Found a potential workaround.

emerge -B busybox 1.01 from portage tree.
backup .config of the busybox-1.01 build
copy the /usr/share/genkernel/alpha/busy-config to .config 
/var/tmp/portage/busybox-1.01/work/busybox-1.01

make oldconfig

diff the two files (.config from make oldconfig and the backup version of the
successful build).

updated the /etc/genkernel.conf to use busybox-1.01 and copied the bz2 source to
the /usr/share/genkernel/pkg directory

ran a successfull genkernel --no-clean initrd

System booted correctly under the new kernel with initramfs support.
Comment 2 Tim Yamin (RETIRED) gentoo-dev 2005-11-04 16:21:58 UTC
Please attach /var/log/genkernel.log.
Comment 3 Brian Parkhurst 2005-11-28 20:50:03 UTC
Capture of genkernel.log from 3.3.8 version:

"genkernel.log" may be a binary file.  See it anyway? 

* Gentoo Linux Genkernel; Version 3.3.8
* Running with options: --no-clean all

* Linux Kernel 2.6.14-gentoo-r3 for alpha...
* config: --no-clean is enabled; leaving the .config alone.
COMMAND: make -j2 CC="gcc" LD="ld" AS="as" prepare
  CHK     include/linux/version.h
  SYMLINK include/asm -> include/asm-alpha
  SPLIT   include/linux/autoconf.h -> include/config/*
  CC      arch/alpha/kernel/asm-offsets.s
  GEN     include/asm-alpha/asm-offsets.h
*         >> Compiling 2.6.14-gentoo-r3 boot...
COMMAND: make -j2 CC="gcc" LD="ld" AS="as" boot
  CHK     include/linux/version.h
  HOSTCC  scripts/kallsyms
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/pnmtologo
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/bin2c
  CC      init/main.o
  HOSTCC  usr/gen_init_cpio
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  UPD     usr/initramfs_list
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:665:
error: initializer element is
 not constant
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:665:
error: (near initialization f
or `applets[82]')
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:668:
error: initializer element is
 not constant
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:668:
error: (near initialization f
or `applets[83]')
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:671:
error: initializer element is
 not constant
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:671:
error: (near initialization f
or `applets[84]')
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:674:
error: initializer element is
 not constant
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:674:
error: (near initialization f
or `applets[85]')
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:678:
error: initializer element is
 not constant
/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/include/applets.h:678:
error: (near initialization f
or `applets[86]')
make: ***
[/export/tmp/genkernel/25064.7020.11394.7041/busybox-1.00-rt-mdstart.plasmaroo/applets/applets.o]
Error 1
make: *** Waiting for unfinished jobs....
* Gentoo Linux Genkernel; Version 3.3.8
* Running with options: --no-clean all

* ERROR: Failed to compile the "all" target...
* -- Grepping log... --
* -- End log... --
* Please consult /var/log/genkernel.log for more information and any
* errors that were reported above.
* Report any genkernel bugs to bugs.gentoo.org and
* assign your bug to genkernel@gentoo.org. Please include
* as much information as you can in your bug report; attaching
* /var/log/genkernel.log so that your issue can be dealt with effectively.
* 
* Please do *not* report compilation failures as genkernel bugs!
Comment 4 Brian Parkhurst 2005-11-28 20:52:43 UTC
Created attachment 73779 [details]
genkernel.log from 3.3.8 release version

Genkernel run 11/28/2005 
kernel version 2.6.14-gentoo-r3
Comment 5 Thomas Cort (RETIRED) gentoo-dev 2005-12-11 13:23:35 UTC
Created attachment 74528 [details, diff]
busybox-1.00-rt-mdstart.plasmaroo.patch

I tried 'genkernel initrd' on my alpha and got the same results. The problem is
that the kernel headers pollute the namespace with every CONFIG_* symbol in the
kernel, and this clashes with busybox's CONFIG_SYSCTL. The busybox devs fixed
this in CVS by renaming CONFIG_SYSCTL to CONFIG_BB_SYSCTL. This patch does the
same.
Comment 6 Tim Yamin (RETIRED) gentoo-dev 2005-12-15 11:54:23 UTC
Fixed in the source repository, thanks. This will show up in the next genkernel
release.
Comment 7 Tim Yamin (RETIRED) gentoo-dev 2005-12-16 12:10:52 UTC
Fixed in 3.3.9; thanks!