Busybox 1.7.4 fails to merge. The ebuild calls "emake" with a conditional "or". As emake cannot be found in the PATH (and the ebuild doesn't specify where it is on the filesystem), it fails by default. As a workaround, I stuck the following variable at the top of the ebuild: emake=/usr/lib/portage/bin/emake ...and then ran the following before doing `emerge --resume`: `ebuild /usr/lib/portage/bin/emake digest` ...but it still fails with the same error. Reproducible: Always Steps to Reproduce: 1. emerge busybox (1.7.4) Actual Results: failed merge Expected Results: successful merge The test for emake || die "build failed" is what is failing. "emake" is found on my system, but is not in the $PATH variable: which: no emake in (/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.6) -rwxr-xr-x 1 root root 638 Nov 9 10:47 /usr/lib/portage/bin/emake* * Messages for package sys-apps/busybox-1.7.4: * Could not locate user configfile, so we will save a default one * * ERROR: sys-apps/busybox-1.7.4 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * busybox-1.7.4.ebuild, line 158: Called die * The specific snippet of code: * emake busybox || die "build failed" * The die message: * build failed
Portage 2.1.3.19 (hardened/x86, gcc-3.4.6, glibc-2.5-r4, 2.4.35-grsec i686) ================================================================= System uname: 2.4.35-grsec i686 Pentium III (Coppermine) Timestamp of tree: Mon, 10 Dec 2007 17:00:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.4.26-r1 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O2 -pipe -fforce-addr" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=pentium3 -O2 -pipe -fforce-addr" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer noinfo parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j5" 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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="apache2 bash-completion berkdb cracklib crypt doc hardened logrotate logwatch maildir midi milter ncurses nls pam perl php pic python readline sqlite ssl tcpd unicode urandom x86 xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
(In reply to comment #0) > emake cannot be found in the PATH (and the ebuild doesn't specify > where it is on the filesystem), it fails by default. Uh? Kindly sanitize your environment. $ emerge --info -v | grep PORTAGE_BIN_PATH PORTAGE_BIN_PATH="/usr/lib/portage/bin"
Negative. The output is identical on my box. Is there anything else I could be looking for? $ /usr/lib/portage/bin/emake make: *** No targets specified and no makefile found. Stop. $ emerge --info -v | grep PORTAGE PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha ppc-macos hppa sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib/portage/bin" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_PYM_PATH="/usr/lib/portage/pym" 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 --filter=H_**/files/digest-*" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_WORKDIR_MODE="0700"
Sigh, if emake wasn't found on your box, you would be unable to compile about 75% of ebuilds in portage. Kindly attach the complete emerge.log here and reopen.
Created attachment 138204 [details] busybox 1.7.4 configure/compile log
(In reply to comment #4) > Sigh, if emake wasn't found on your box, you would be unable to compile about > 75% of ebuilds in portage. Kindly attach the complete emerge.log here and > reopen. > Yeah. Sorry for any frustration caused... I appreciate someone taking a look at this, and am happy to help with the resolution. Other packages build fine... the only reason I care about this one is because it's being pulled in as part of a world upgrade. Thanks =) -brant
posting some useful errors: <snip> libbb/time.c: In function `monotonic_us': libbb/time.c:20: error: `__NR_clock_gettime' undeclared (first use in this function) libbb/time.c:20: error: (Each undeclared identifier is reported only once libbb/time.c:20: error: for each function it appears in.) libbb/time.c: In function `monotonic_sec': libbb/time.c:27: error: `__NR_clock_gettime' undeclared (first use in this function) make[1]: *** [libbb/time.o] Error 1 </snip>
Upgrade to a supported kernel. *** This bug has been marked as a duplicate of bug 201381 ***
so... now what? * Messages for package sys-apps/busybox-1.7.4: * Could not locate user configfile, so we will save a default one * * ERROR: sys-apps/busybox-1.7.4 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * busybox-1.7.4.ebuild, line 158: Called die * The specific snippet of code: * emake busybox || die "build failed" * The die message: * build failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/sys-apps/busybox-1.7.4/temp/build.log'. * nerv ~ # uname -a Linux nerv 2.6.22-hardened-r8 #1 Mon Dec 10 17:27:13 CST 2007 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
Created attachment 138222 [details] same problem with 2.6.22; without upgrading any packages
> virtual/os-headers: 2.4.26-r1 Upgrade that as well. And recompile your glibc after you've done it.
(In reply to comment #11) > > virtual/os-headers: 2.4.26-r1 > > Upgrade that as well. And recompile your glibc after you've done it. > Thanks, Jakub. Doing so allowed the package to compile successfully.