Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 13217 - 1.4_rc3 stage1 & perl-5.6.1-r10 failure
Summary: 1.4_rc3 stage1 & perl-5.6.1-r10 failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Robert Coie (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-04 03:14 UTC by Jared H. Hudson (RETIRED)
Modified: 2003-03-10 01:07 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jared H. Hudson (RETIRED) gentoo-dev 2003-01-04 03:14:42 UTC
Stage Used: stage1-x86-1.4_pre20030101.tar.bz2
Filesystem type: ext2
history of commands:
# etc-update
# source /etc/profile
# nano -w /etc/make.conf
# emerge sync
# mkdir /usr/local/portage
# emerge sync
# cd /usr/portage
# scripts/bootstrap.sh
# export CONFIG_PROTECT="-*"
# emerge -p system
# time emerge system

Notes:
dmesg reports no crashed processes.
I ran emerge -p system and then emerge system once more and it compiled
perfectly this time.
This makes me think that the problem is a random one dealing with the
MAKEOPTS="-j3". The only thing I can think of is to leave perl compiling in a
while loop for 10 times or more and see if it crashes randomly again. If it
does, then remove the MAKEOPTS and try 10 or more times again.

# grep -v \# /etc/make.conf
/etc/make.conf contains:
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-mp -O3 -pipe"
CXXFLAGS="${CFLAGS}"
PORTAGE_TMPDIR=/var/tmp
PORTDIR=/usr/portage
DISTDIR=${PORTDIR}/distfiles
PKGDIR=${PORTDIR}/packages
PORTDIR_OVERLAY=/usr/local/portage
MAKEOPTS="-j3"
AUTOCLEAN="yes"
FEATURES="sandbox ccache buildpkg"

make[3]: Leaving directory `/var/tmp/portage/perl-5.6.1-r10/work/perl-5.6.1/x2p'
Finding dependencies for hash.o.
Finding dependencies for str.o.
Finding dependencies for util.o.
Finding dependencies for walk.o.
make[3]: Entering directory `/var/tmp/portage/perl-5.6.1-r10/work/perl-5.6.1/x2p'
echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
make[3]: Leaving directory `/var/tmp/portage/perl-5.6.1-r10/work/perl-5.6.1/x2p'
Updating makefile...
make[2]: Leaving directory `/var/tmp/portage/perl-5.6.1-r10/work/perl-5.6.1/x2p'
make[1]: Leaving directory `/var/tmp/portage/perl-5.6.1-r10/work/perl-5.6.1'
make: *** No rule to make target `<built-in>', needed by `miniperlmain.o'.  Stop.

!!! ERROR: sys-devel/perl-5.6.1-r10 failed.
!!! Function src_compile, Line 158, Exitcode 2
!!! (no error message)
Comment 1 Mike Stok 2003-01-04 09:21:27 UTC
This seems to happen with the default MAKEOPTS="-j2" with
1.4_rc2 from stage 3.  Setting MAKEOPTS="" in /etc/make.conf doesn't seem to help as it dies in the same place.

/etc/make.conf contains

USE='gif jpeg xml xml2 mysql ruby'
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O3 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS=""
Comment 2 Gregory K. Ruiz-Ade 2003-01-04 17:53:23 UTC
This essentially prevents any new Gentoo systems from being installed at all ('emerge system' 
will never complete if perl doesn't build, and I was hoping to get two or three gentoo boxes 
running this weekend.) :(  
  
This happened for me trying to install a new 1.4_rc2 system after successfully completing a  
bootstrap.  Failed with both MAKEOPTS="-j3" and MAKEOPTS="".  
  
# grep "^[^#]" make.conf  
USE="-3dfx -3dnow -alsa -esd -evo -gnome X aalib apm arts avi cdr crypt cups dga dvd  
encode fbcon flash gd gdbm gif gpm gtk gtk2 imap imlib innodb java jpeg kde mmx mpeg  
mysql ncurses oss oggvorbis pam pdflib perl png qt qtmt quicktime readline samba sdl slp ssl  
tcpd tiff truetype xv zlib"  
CHOST="i686-pc-linux-gnu"  
CFLAGS="-march=pentium2 -O3 -pipe"  
CXXFLAGS="${CFLAGS}"  
MAKEOPTS=""  
AUTOCLEAN="yes"  
FEATURES="buildpkg"  
RSYNC_RETRIES="3"  
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"  
  
Comment 3 Guy 2003-01-04 18:57:07 UTC
As an outside observer who is also not a programmer, perhaps you may want to try: 
 
MAKEOPTS="-j1" 
 
It is my impression that MAKEOPTS="" is functionally equivelant to MAKEOPTS="-j2" since "-j2" is the 
default. If MAKEOPTS is really the source of your problem (and I have no idea and make no claim that 
it is), then you should explicitly set MAKEOPTS="-j1". 
 
This has solved several ebuild failures for me. 
 
FWIW this is my emerge info: 
 
Portage 2.0.46-r4 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r3) 
================================================================= 
System uname: 2.4.20 i686 AMD Athlon(TM) XP1900+ 
USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg gnome libg++ mikmod mmx mpeg ncurses 
nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang 
readline arts bonobo svga tcltk java guile mysql X sdl gpm tcpd pam libwww ssl perl python esd imlib 
oggvorbis gtk qt kde motif opengl mozilla cdr" 
ARCH="x86" 
COMPILER="gcc3" 
CHOST="i686-pc-linux-gnu" 
CFLAGS="-march=athlon-xp -O3 -pipe" 
CXXFLAGS="-march=athlon-xp -O3 -pipe" 
ACCEPT_KEYWORDS="x86 ~x86" 
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config 
/usr/kde/3/share/config /usr/kde/3.1/share/config:/usr/kde/3/share/config:/usr/share/config" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
MAKEOPTS="-j1" 
JDK_HOME="/opt/blackdown-jdk-1.4.1_beta" 
JAVA_HOME="/opt/blackdown-jdk-1.4.1_beta" 
AUTOCLEAN="yes" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" 
 
Comment 4 Mike Stok 2003-01-04 22:18:37 UTC
Guy's suggestion to set MAKEOPTS="-j1" explicitly in my /etc/make.conf made the compile work for me (1.4_rc2 live
CD stage 3 install)
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2003-01-05 08:47:58 UTC
Please emerge sync again. There is a new version of the -r10 of perl 5.6.1,
effective Friday, that contains a fix for fresh installs using gcc 3.2.X.
Comment 6 Mike Stok 2003-01-05 13:20:33 UTC
I just tries rebuilding from 1.4_rc2 live cd stage 3, following the instructions at http://www.gentoo.org/doc/en/gentoo-x86-install.xml, and only setting the CHOST and CFLAGS in my /etc/make.conf.

I edited /etc/make.conf after doing the emerge sync, if that matters... When I got to

emerge -u world

It failed as before.

The Id tag at the top of /usr/portage/sys-devel/perl/perl-5.6.1-r10.ebuild indicates it's from friday (rev 1.6)

I will try starting from scratch again (on the blindingly fast 233MHz MMX w/ 64MB) with a stage 3 install, and when I have emerge sync'ed I will add a line to the top of the  ebuild for perl contining

MAKEOPTS="-j1" 

and see if the emerge -u world works after that.
Comment 7 Guy 2003-01-05 22:23:44 UTC
Since I was building a new machine anyway, I took this opportunity to test this
issue.

Burned a new 1.4_rc2 stage1 live cd.

Booted and followed normal installation procedures to the point of 'emerge rsync'

# emerge rsync
# emerge -pu world
# emerge -u world

Emerge aborted at the perl-5.6.1-r10 ebuild.

Edited /etc/make.conf and added line:

MAKEOPTS="-j1"

# emerge -u world

Emerge of world is now past perl-5.6.1-r10 and continuing.

---------------------------------------------------------------------------------------------------------

FWIW - I am temporarily following this procedure as a work-around for new machines.

... blah - blah - blah ...

# emerge rsync
# emerge portage
# emerge baselayout
# etc-update
# nano -w /etc/make.conf (to add MAKEOPTS="-j1")
# emerge -u world

The make.conf file from the baselayout in the 1.4_rc2 tarballs does not have the
section on MAKEOPTS in it. It's only after you emerge the current baselayout
that make.conf is updated.

You don't need to take all the steps I take to work around the problem. The only
critical step is to edit make.conf and add the MAKEOPTS="-j1" line prior to
emerging perl-5.6.1-r10.

I do it the way I listed simply because it satisfies my sense of logical order.  ;-)

This machine I'm currently installing gentoo on is an AMD K-6 300 w/48megs ram,
384meg swap. I used the 1.4_rc2 live stage1 cd to boot and the
stage3-i586-1.4_rc2.tbz2 tarball. If you need more information, please post
here. :-)

Finally, this is the third time I'm installing gentoo on it. The first time was
with the 1.2 live cd etc. I had it up and running with fluxbox, xchat, xmms,
abiword etc. The second time was with the 1.4 beta with the same applications.
So I know this machine works well with gentoo. :)
Comment 8 Guy 2003-01-06 07:21:27 UTC
I be bad. 

After changing MAKEOPTS="-j1" on my new installation, it failed again. When I
thought it was past perl, it wasn't. :(

That's what I get for checking on thing just before going to sleep.

I'll play around with it later tonight. [sigh]
Comment 9 Michael Cummings (RETIRED) gentoo-dev 2003-01-06 17:16:52 UTC
Any change to your -j options are extraneous. The problem was a documented
problem with perl's building in a gcc 3.2.X environment and were fixed in a
silent update on Friday. Please sync again and emerge perl. The corrected perl
is now in portage with a patch. The problem was a syntax problem with the perl
source for the x2p module.
Comment 10 Mike Stok 2003-01-06 21:44:16 UTC
Re-emerging on my 233 mmx worked tonight.  It looks like I got the same -r10 ebuild (rev 1.6 in the CVS tag) as the one I used yesterday which failed (see my note from yesterday, 2003-01-05 13:20 the second attempt to build failed too.)

I will try starting again from the stage 3 tarball to see if I can get 2 or 3 consecutive emerges to succeed.
Comment 11 Mike Stok 2003-01-07 06:29:13 UTC
I tried rebuilding from a stage 3 tarball and it failed
again.  The -r10 ebiuld is rev 1.6 from 2003/01/03 and the
error was still

make: *** No rule to make target `<built-in>', needed by `miniperlmain.o'.  Stop.

!!! ERROR: sys-devel/perl-5.6.1-r10 failed.
!!! Function src_compile, Line 158, Exitcode 2
!!! (no error message)

If I do the egrep stuff from line 151 of the ebuild in the work directory then a make seems to begin OK.
Comment 12 Markus Luisser 2003-01-07 07:38:47 UTC
i have a workaraound for this 
bug:

http://forums.gentoo.org/viewtopic.php?t=28570&start=0

(try 'newest 
first' at the bottom of the page to display the newest additions to the thread - there seems to be a bug 
in the forums too ;) )

as i began the installation on sunday/monday i think this one is not 
completely fixed....
Comment 13 Michael Cummings (RETIRED) gentoo-dev 2003-01-07 09:15:27 UTC
http://rt.perl.org/rt2/Ticket/Display.html?id=15510

The ebuild for -r10 was modified per the perl.org bug tracking of the x2p 
problem with perl 5.6.1 on a gcc 3.2.X system. I have successfully built the 
perl 5.6.1 -r10 on a fresh, built from stage1, 1.4 system (rc2 IIRC). Please 
emerge sync and let me know if the one line mod I made fixes this for you. 
(Feel free to diff the new and the old at http://cvs.gentoo.org/cgi-
bin/viewcvs.cgi/gentoo-x86/sys-devel/perl/perl-5.6.1-r10.ebuild.diff?
r1=1.6&r2=1.7 )

Perl 5.8.0 does not contain this bug with gcc 3.2.X and will be unmasked 
shortly, pending confirmation testing.
Comment 14 Markus Luisser 2003-01-07 11:21:06 UTC
sorry but emerge sync and emerge -u perl fails for perl-5.6.1-r10 with exactly 
the same error - the url for the diff between v1.6 and v1.7 tells me that 
nothing was changed, although:

http://cvs.gentoo.org/cgi-bin/viewcvs.cgi/gentoo-x86/sys-devel/perl/perl-5.6.1-
r10.ebuild?rev=1.7&content-type=text/vnd.viewcvs-markup

says: 'Changes since 1.6: +5 -5 lines'

perhaps u commited the old version by mistake?
Comment 15 Michael Cummings (RETIRED) gentoo-dev 2003-01-07 12:30:22 UTC
Anyone watching this thread have anything to add? r10 has been out for a while, 
and was only a security update to r9, which had been out for weeks prior to 
that. In that time, there was no problem with gcc 3.2.X boxes emerging perl. It 
has only been with the 1.4 beta releases that gcc problems have started to 
arise, begging the question of whether there were any changes in that size. 
Azarah?
Comment 16 Martin Schlemmer (RETIRED) gentoo-dev 2003-01-07 12:45:56 UTC
Try to change the -march=athlon-mp ?  Some -march optimizations of gcc3 have
been known to cause strange issues ....
Comment 17 Mike Stok 2003-01-07 13:40:39 UTC
Michael,

I have tried to replicate the probem on my work machine (2.5GHz P4) in a
chrooted environment (as suggested in the setting up phase of the UML User
docs.)  Here everything works fine several times.

I wonder if it's something to do with the speed of the machine its built on,
as on my 233 MHz with 64MB and ext3 file systems on an old WD 6GB disc it
fails more often than not, and at work it's just fine.

Sorry I can't give you something more solid...

Mike
Comment 18 Markus Luisser 2003-01-07 15:56:47 UTC
hmm - i only got these problems with a fresh installation on an very crappy old k6, 64MB (changed during the tests just to be sure) - on my working machine Athlon 1700, 256MB, gentoo-1.2 everything works fine :) - it also works when updating perl on a P-MMX 200, 64MB with gentoo-1.2...  for the time being i use the workaround i posted at the forums...works fine so far - releaves some of the pressure on this issue ;) 
Comment 19 Guy 2003-01-07 22:26:44 UTC
OK - I agree that MAKEOPTS="-j1" didn't have anything to do with solving anything.

emerge perl 5.6.1-r10 worked successfully on K-6 300, 48 meg ram, 384 meg swap.

emerge perl 5.6.1-r10 did not work on Pentium II 400, 384 meg ram, 256 meg swap.
I'll be double checking this tomorrow.

perl 5.6.1-r10 is not apparently required on a Athlon XP1900+, 512meg ram 256
meg swap. Emerge -s perl shows 5.8.0 perl and libperl installed. emerge -pu
--deep world shows no call for perl 5.6.1-r10.

perl 5.6.1-r10 is not apparently required on a Celeron 466, 256 megs ram 256 meg
swap. Emerge -s perl shows 5.8.0 perl and libperl installed as above.

(scratching head) if the pentium II machine is still broken for perl 5.6.1-r10,
is there information you'd like from it?
Comment 20 Markus Luisser 2003-01-08 04:26:42 UTC
i tried

CFLAGS="march=i586 -O3 -pipe" as opposed to CFLAGS="march=k6 -O3 -pipe" which i used 
before

i tested the latter also with MAKEOPTS="-j1" none of these possibilities work - they all 
throw the same error...
Comment 21 gentoo 2003-01-08 09:43:05 UTC
I can confirm the bug on my old pentium-mmx 64Mo.

-j1 doesn't do the trick. I had to mask perl > 5.6.1-r7 to achieve my stage3
install (1.4 rc2).
Comment 22 Guy 2003-01-08 14:58:36 UTC
Hmmm ... Pentium II system doesn't list perl-5.6.1-r10 for emerging.

Doing:

emerge /usr/portage/sys-devel/perl/perl-5.6.10-r10.ebuild

explicitly - will report results tomorrow.
Comment 23 Markus Luisser 2003-01-08 20:02:13 UTC
perl-5.8.0-r8 has been unmasked compiled without problems :)) on a k6 with march=i586 
Comment 24 Christian Plessl 2003-01-09 06:06:49 UTC
I have the same problem with perl-5.6.1-r10 when trying to install gentoo on a
alpha box, using 1.4_rc1.

Is there anybody who successfully emerged perl 5.6.1 on alpha? Perl 5.8.0 is
masked for alpha, so I'm not sure whether I should unmask 5.8.0 or try to emerge
perl-5.6.1-r7.
Comment 25 Michael Cummings (RETIRED) gentoo-dev 2003-01-09 06:27:26 UTC
Christian,

My understanding from the alpha team (wwoods in particular) is that they are 
all running perl 5.8 successfully. I think the only reason that it isn't 
unmasked is that they haven't had a chance - it was only unmasked for x86 
yesterday morning.
Comment 26 Christian Plessl 2003-01-10 02:43:45 UTC
I did an 'emerge rsync' and emerged perl-5.6.1 again. Now it worked without
further problems on an alpha architecture.
Comment 27 Robert Coie (RETIRED) gentoo-dev 2003-02-19 20:28:34 UTC
Can this bug be safely closed?  gerk put in some patches from LFS that
seem to fix the "miniperlmain" issue.
Comment 28 Robert Coie (RETIRED) gentoo-dev 2003-03-10 01:07:29 UTC
Believed fixed by Gerk's work.