The error message is printed by /sbin/rc when it's called by init; rc fails becouse $RUNLEVEL is not set. Since no bugs have been reported so far, I guess it affects only me. My workaround is to use /bin/bash istead of /sbin/runscript to execute rc (just modified the first line of /sbin/rc). Does runscript clean the environment? If so, why does the problem only happen to me? I have a bit unusual setup in that I'm using an initramfs, but that shouldn't affect how rc is run by init. emerge --info follows: Portage 2.1-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-suspend2-r4 i686) ================================================================= System uname: 2.6.17-suspend2-r4 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.12.4 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 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-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-Os -march=athlon-xp -mmmx -msse -m3dnow -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-Os -march=athlon-xp -mmmx -msse -m3dnow -fomit-frame-pointer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://85.25.128.62 http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://213.186.33.38/gentoo-distfiles/ http://213.186.33.37/gentoo-distfiles/ http://gentoo.inode.at/" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,-z,combreloc -Wl,--as-needed" LINGUAS="en en_US en_UK it" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X aac acpi alsa apache2 arts asf bitmap-fonts bzip2 canvas cddb cjk crypt css cups dar64 dga dri dvd encode examples ffmpeg firefox flac fuse gif glibc-omitfp gmp gphoto2 gpm gstreamer gtk gtk2 hal image imlib immqt-bc java javascript joystick jpeg jpeg2k kde kdeenablefinal kdexdeltas mad maildir matroska mmx mmxext mng mozdevelop mozsvg mp3 musicbrainz ncurses nls nptl nptlonly offensive ofx ogg oggvorbis on-the-fly-crypt opengl pam pcre pdf physfs pic png qt qt3 quicktime rdesktop readline real rtc ruby sdl sndfile speex sqlite sse ssl subversion svg theora threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales vorbis win32codecs wmf x264 xanim xml2 xmms xorg xv xvid xvmc zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_wacom kernel_linux linguas_en linguas_en_US linguas_en_UK linguas_it userland_GNU video_cards_radeon video_cards_vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
init should be setting the RUNLEVEL variable runscript does clean the environment, but it lets RUNLEVEL through because it is declared in the whitelist file: /lib/rcscripts/conf.d/env_whitelist
Veeery odd... Just changing the sha-bang line works for me, so it cannot be rc's fault. I checked env_whitelist on my root fs and it lists RUNLEVEL, as you said. /sbin/init is run by the following line on my initramfs: exec switch_root /new $INIT $KERNEL_CMDLINE So init should be chroot'd in the right filesystem and /lib should be available for runscript to read. I don't know what to say. Maybe we should relolve this as CANTFIX (unless you or someone else come up with an insight) and just leave this bug for reference: googling for the error message I got yielded one (not relevant) result.
I use initramfs as well, and looked at my kernel-space init. I cannot find any significant difference between invocation and mine works without problems. I am using baselayout 1.12.6.
Well, I cannot replicate this at all with either baselayout-1 or baselayout-2. I do recally a fellow dev getting a similar error, which was caused by his very buggy initramfs. If you still have this error, please re-open with full details about your initramfs. Thanks