with MAKEFLAGS=-j3, it failed as described below, doing a 'export MAKEFLAGS=""; emerge -u yelp' solved the problem. the ebuild needs to be forced to -j1 errorlog: ============================================================================== >>> Install lrzsz-0.12.20-r1 into /var/tmp/portage/lrzsz-0.12.20-r1/image/ category net-misc Making install in lib make[1]: Entering directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/lib' make[1]: Leaving directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/lib' Making install in intl make[1]: Entering directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/intl' if test "lrzsz" = "gettext" \ && test '' = 'intl-compat.o'; then \ if test -r ./mkinstalldirs; then \ ./mkinstalldirs /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/lib /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/include; \ else \ ../mkinstalldirs /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/lib /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/include; \ fi; \ /bin/install -c -m 644 intlh.inst /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/include/libintl.h; \ /bin/install -c -m 644 libintl.a /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/lib/libintl.a; \ else \ : ; \ fi if test "lrzsz" = "gettext"; then \ if test -r ./mkinstalldirs; then \ ./mkinstalldirs /usr/share/gettext/intl; \ else \ ../mkinstalldirs /usr/share/gettext/intl; \ fi; \ /bin/install -c -m 644 VERSION /usr/share/gettext/intl/VERSION; \ dists="ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in xopen-msg.sed gettext.h gettextP.h hash-string.h libgettext.h loadinfo.h bindtextdom.c dcgettext.c dgettext.c gettext.c finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c explodename.c intl-compat.c cat-compat.c"; \ for file in $dists; do \ /bin/install -c -m 644 ./$file /usr/share/gettext/intl/$file; \ done; \ else \ : ; \ fi make[1]: Leaving directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/intl' Making install in src make[1]: Entering directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/src' /bin/sh ../mkinstalldirs /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin rm -f //var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/`echo lsb | sed -e 's,x,x,'` mkdir /var/tmp/portage/lrzsz-0.12.20-r1/image/usr ln //var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/`echo lsz |sed -e 's,x,x,'` \ //var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/`echo lsb |sed -e 's,x,x,'` mkdir /var/tmp/portage/lrzsz-0.12.20-r1/image/usr/bin /bin/install -c lrz /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/lrz ln: accessing `//var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/lsz': No such file or directory make[1]: *** [install-exec-local] Error 1 make[1]: *** Waiting for unfinished jobs.... /bin/install -c lsz /var/tmp/portage/lrzsz-0.12.20-r1/image//usr/bin/lsz make[1]: Leaving directory `/var/tmp/portage/lrzsz-0.12.20-r1/work/lrzsz-0.12.20/src' make: *** [install-recursive] Error 1 !!! ERROR: net-misc/lrzsz-0.12.20-r1 failed. !!! Function src_install, Line 28, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message.
Haha, apparently I copypasted a bit too soon, here, obviously the fix is not 'emerge -u yelp', but 'emerge -u lrzsz'
the variable is MAKEOPTS, not MAKEFLAGS. please test "emerge lrzsz" with MAKEOPTS='-j3'
Actually, MAKEOPTS is the keykword used in make.conf, and MAKEFLAGS is the shell variable read by make itself. (see `man make') I fail to see why it's relevant that I use the one or the other, unless portage have methods of understanding these issues that I do not know about.
I've tested on a single CPU machine, with MAKEFLAGS/MAKEOPTS set to -j3 without any problems. Granted, on you SMP could not work, but... the difference between MAKEFLAGS and MAKEOPTS would be - MAKEOPTS is Gentoo Way -> supported by Gentoo Foundation (tm) - MAKEFLAGS is BreakMyGentoo Way -> you are on your own in src_install function, make is launched without $MAKEOPTS, so this bug is invalid.
.. so you are saying that those of us that do compiling other than what is available to portage with more than one cpu by default should suffer because you are reluctant to add '-j1' to line 25 of this ebuild? :o obviously it is your choice to ignore my request, but I still feel that MAKEFLAGS is not 'BreakMyGentoo Way' as you formulate it - but rather standard unix/linux make usage.
if so, then maybe you could explain to me why portage decided to use a env variable name different than what make recognize? do you want us to unset every dangerous env variable in emerge? I think that isn't the gentoo spirit, which is in my understanding "let the user customize his sistem even at the point of breaking it". if you need MAKEFLAGS env var so badly, why don't you put "unset MAKEFLAGS' in /etc/make.conf?
I decided to make a patch for this, mainly for sending upstream. Again, in my opinion this isn't a valid Gentoo bug.
Oh, you too? I just sendt a patch to uwe that fixes the issue. Anyways, thank you for doing this allthough you don't agree with me :)
fixed in cvs by patching src/Makefile.* patch sent to upstream.