when emerging net-www/mozilla-1.2.1rc5 the installer crashes after configuring (and just before the compiling ) the Xft package, which is in mozilla ebuild. Reproducible: Always Steps to Reproduce: 1.emerge mozilla 2. 3. Actual Results: * Building Xft2.0... make: *** No rule to make target `2'. Stop. !!! ERROR: net-www/mozilla-1.2.1-r5 failed. !!! Function src_compile, Line 432, Exitcode 2 !!! (no error message) Expected Results: compile the xft package Intel 1.0 Gig PIII with 256 Mb ram
With a little tweaking of the ebuild file, the problem comes again just before compiling mozilla. The problem also occured with the rc4 file of the mozilla 1.2.1. ebuild
This is where Xft gets build: ---------------------------------------- einfo "Configuring Xft2.0..." cd ${FC_S} ./configure --prefix=${WORKDIR}/Xft \ --sysconfdir=/etc \ --x-includes=${WORKDIR}/Xft/include \ --x-libraries=${WORKDIR}/Xft/lib || die einfo "Building Xft2.0..." # Use install as libXft_moz.so so that it do not conflict with # system wide libs ... emake LIBBASE="libXft_moz.so" || die ----------------------------------------- I am sorry, but there must be some kind of memory/filesystem corruption that is causing this. I am not saying its hardware related, but maybe try a vanilla kernel or such.
mozilla 1.0.1 is emerges good. And i am using a vanilla kernel. I found the part of ebuilding, but could not find the problem.
Allright, found the cause. When enabling the MAKEOPTS="-j2" option in make.conf, the problem arises. (make.globals is not sourced from emake, the MAKEOPTS param is here also, but not harmful) The problem dissapears with outcommenting this rule. Could not find the source exactly, because i could not find function unpack ${A} under src-unpack() in mozilla ebuild (1.2.1-r5) but when MAKEOPTS = -j2 (line enabled in make.conf), because of some reason the program tries to execute make 2 -j2 in stead of make -j2. And this is where the fault " make: *** No rule to make target `2'. Stop. " comes from. Bug ?
Attach you /usr/portage/eclass/eutils.eclass please.
Because of not succeeding to send an attachment please find here the requested file : http://www.nedlinux.nl/~scdgro/eutils.eclass
Seems like get_number_of_jobs is setting MAKEOPTS to "-2" for some reason. I cannot see why though. I have -j6, and it works fine. Ill try with -j2, although in theory it should not make a difference.
I also did some testing. I came to the next conclusion : What you didn't know : I had MAKEOPTS="-j 2", instead of MAKEOPTS="-j2" (watch the whitespace difference ) or whatever the number is. when you have the whitespace, get_number_of_jobs is unable to replace the -j option correctly with the # of processors+1. When this is set correctly, mozilla and Xft compile correctly. (eeeh, for one thing, still got a problem but on the installing part of mozilla. after correctly compiling mozilla,it should install libnss3.so but the program says : libnss3.so not found. i'll do some testing before submitting this bug)
Should be fixed on CVS. ----------------------------------------------------------- Index: eutils.eclass =================================================================== RCS file: /home/cvsroot/gentoo-x86/eclass/eutils.eclass,v retrieving revision 1.16 diff -u -b -B -r1.16 eutils.eclass --- eutils.eclass 3 Feb 2003 14:10:37 -0000 1.16 +++ eutils.eclass 9 Feb 2003 22:37:55 -0000 @@ -330,11 +330,11 @@ if [ "`egrep "^[[:space:]]*MAKEOPTS=" /etc/make.conf | wc -l`" -gt 0 ] then ADMINOPTS="`egrep "^[[:space:]]*MAKEOPTS=" /etc/make.conf | cut -d= -f2 | sed 's/\"//g'`" - ADMINPARAM="${ADMINOPTS##*-j}" - ADMINPARAM="${ADMINPARAM%% -*}" + ADMINPARAM="`echo ${ADMINOPTS} | gawk '{match($0, /-j *[0-9]*/, opt); print opt[0]}'`" + ADMINPARAM="${ADMINPARAM/-j}" fi - export MAKEOPTS="`echo ${MAKEOPTS} | sed -e 's:-j[0-9]*::g'`" + export MAKEOPTS="`echo ${MAKEOPTS} | sed -e 's:-j *[0-9]*::g'`" if [ "${ARCH}" = "x86" -o "${ARCH}" = "hppa" ] then