it gets to 'roll-loops -pipe -Wall `sh cflags "optimize='-O3 -march=i686 -funroll-loops -pipe'" dump.o` -fPIC dump.c CCCMD = gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -03 -march=i686 -funroll-loops -pipe -Wall Then says: <quote> Out of Memory: Killed process 15268 (cc1). gcc: Internal error: Terminated (program cc1) Please submit a full bug report. See <URL:http://bugs.gentoo.org/> for instructions. {standard input}: Assembler messages: make: *** [toke.o] Error 1 make: *** Waiting for unifished jobs... {standard input}:19704: Warning: end of file not at end of a line; newline inserted {standard input}: 21451: Error: bad register name `%' !!! ERROR: sys-devel/libperl-5.8.0 failed. !!! Function src_compile, Line 235, Exitcode 2 !!! Unable to make libperl.so Reproducible: Always Steps to Reproduce: 1. emerge system 2. wait for sys-devel/libperl-5.8.0 3. Actual Results: see Details Expected Results: Compiled and installed libperl?
I run into a similar problem with system built from a stage1-selinux-x86-20031201. On a IBM Netfinity (p2) make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' Updating makefile... test -s perlmain.c && touch perlmain.c cd x2p; make depend make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' makefile:156: *** target pattern contains no `%'. Stop. make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' make: *** [depend] Error 2 !!! ERROR: sys-devel/libperl-5.8.0 failed. !!! Function src_compile, Line 234, Exitcode 2 !!! Couldn't make libperl.so depends Gentoo Base System version 1.4.3.12 Portage 2.0.49-r15 (selinux-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.23_pre7-gss) ================================================================= System uname: 2.4.23_pre7-gss i686 Pentium II (Deschutes) ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium2 -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs strict sfperms" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 crypt pam python readline selinux tcpd zlib berkdb -X -gtk -gnome -java -alsa -qt -kde -motif -slang ncurses maildir ssl -cups"
I don't know about the first error, but the second error I experienced. I believe it is being caused by /dev/null not existing. Check to see if you have a /dev/null and what it's contents are. Should have no contents as it's normally a null device, but in my case it was a file with output from perl shell scripts used to build perl. I am currently looking into why my stage1 (selinux stage1) + bootstrap had no devices by the time emerge system was building perl.
I also have this error. However I think that my problem is actually a perl compile issue. I extracted the source manually and tried to compile and got the same error as when building from the ebuild. My libperl attempt dies on trying to create gv.o with a message complaining about how to correctly use "motd"?? The ebuild also moans at line 235?????? This is the strangest perl related issue i have ever seen! Could the problem be resolved using a newer version of perl? Syncing and retrying also didn't help
My error was CFLAGS!!! I modified them and after a long struggle libperl emerged correctly.
This problem also appars in stage2 (Dec. 28, 2003). A fix for Gentoo-2004.0 is needed. (Original reporter was dertobi123@gentoo.org).
Output on dertobi123@gentoo.org 's machine: ---8<----------------------------- make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' Updating makefile... test -s perlmain.c && touch perlmain.c cd x2p; make depend make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p'makefile:156: *** target pattern contains no `%'. Stop. make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' make: *** [depend] Error 2 !!! ERROR: sys-devel/libperl-5.8.0 failed. !!! Function src_compile, Line 234, Exitcode 2 !!! Couldn't make libperl.so depends --------->8---------------------------------------
I experienced the "makefile:156: *** target pattern contains no `%'. Stop." issue on two separate machines, both starting from stage2-x86-20031228.tar.bz2. Bootstrapping solved the problem. Stage1 and stage3 worked fine for me.
I have the same problem Calum Selkirk, Benjamin Judas, and Vincent van de Camp all have..make depend fails on perlmain.c
*** Bug 37210 has been marked as a duplicate of this bug. ***
I received "!!! Couldn't download perl-5.8.0.tar.gz. Aborting." I looked at ftp.perl.org in the directory specified and found perl-5.8.1.tar.gz and perl.5.8.2.tar.gz, but not the 5.8.0 version. I am totally new to this, trying to kick the Microsoft habit permanently. Anyway around this?
I created new stages a few days ago and wanted to test them before I move them onto the mirrors. Beginning from stage1, bootstrap.sh and "emerge system" succeeded, but when doing "emerge system" in stage2 I experienced that bug for the very first time. I tried to do some fiddling with CFLAGS but didn't get any positive results. rac made a suggestion to me to re-run bootstrap.sh on stage2. We'll see what happens...
*** Bug 38615 has been marked as a duplicate of this bug. ***
I solved a similar problem with perl 5.8.3 for me. I was missing the /dev/null device entry, because I recently switched to udev on 2.6.1 and the entry was missing. After deleting the work directories of perl and libperl and re-emerging them, they both compile fine.
sys-devel/libperl-5.8.0 still fails for me using stage2-x86-20040128.tar.bz2: make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist make[1]: Leaving directory `var/tmp/portage/libperl-5.8.0/work/perl-5.8.0' Updating makefile... test -s perlmain.c && touch perlmain.c cd x2p; make depend make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' makefile:156: *** target pattern contains no `%'. Stop. make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' make: *** [depend] Error 2 !!! ERROR: sys-devel/libperl-5.8.0 failed !!! Function src_compile, Line 234, Exitcode 2 !!! Couldn't make libperl.so depends
We now have perl/libperl 5.8.2 in stable - can anyone confirm if the bug still exists ? - setting it on test-request
My own gentoo rsync server was still under the impression that 5.8.0 was the latest stable libperl in portage. This has been straightened out, HOWEVER sys-devel/libperl-5.8.2 fails _exactly_ the same as libperl-5.8.0 does using the stage2-x86-20040128.tar.bz2 file as does the 20031228 version of the stage2 file
Hm, sorry, not exactly the same. The line number in which the build fails is 157 instead of 156. The rest is indeed exactly the same. (Tried it three times; twice on a pentium4, once on an athlon-tbird.)
Can you try to mkdir /dev in your chroot and retry to see if a missing /dev/null is causing that problem ?
reopening because bug still exists :(
Tried that after I saw some mention of that, /dev/null is not missing
Not sure if it is expected or not, but this fails in the same way for stage3- x86-20040128 also (same as did for dertobi123@gentoo.org in comment #6, with line # difference as mentioned for v5.8.2).
Rac, any comments or ideas about that ? Looks like this bug is in all current perl-versions :( We have to ensure that it builts properly everywhere since it's a mission-critical package...
I don't believe the perl version is at fault here. When I encounter this error using 'emerge system', I can solve it by bootstrapping the system (/usr/portage/scripts/bootstrap.sh). After that's finished, emerge system will run successfully. I believe that a proper bootstrapped stage file should fix this. @ Joe Millenbach: the stage3 file doesn't need the 'emerge system' step. You can just make a kernel and emerge some needed ebuilds to have a fully functioning system. However, it would make sense for the stage3 file to have the same bootstrap as the stage2 file, so it wouldn't surprise me that libperl-5.8.x would break an emerge system.
About all I can say on the "makefile missing target pattern" issue is that it may be locale-related, and one could try setting LC_ALL="C", as seen in bug 15950.
*** Bug 41828 has been marked as a duplicate of this bug. ***
I am seeing the same error in libperl 5.8.2: Using the default make flags emerging system from stage 3 GRP. make[1]: Entering directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' makefile:156: *** target pattern contains no `%'. Stop. make[1]: Leaving directory `/var/tmp/portage/libperl-5.8.0/work/perl-5.8.0/x2p' make: *** [depend] Error 2 I am currently manually emergeing around it.
We didn't have reports about this one for quite some time now, so I suspect it's finally solved. I'll close it, but feel free to reopen if it occurs again (hopefully not)
just hit this bug myself and the reason was because /dev/null was bogus somehow
*** Bug 51752 has been marked as a duplicate of this bug. ***
Moving these so we can remove the "Install CD" component from "Gentoo Linux". I apologize to everyone for this spam, but according to the bugzilla developers, this is the only reasonable way to do this.