After some `emerge -uD world`, a week or two ago, a `revdep-rebuild` told me to rebuild perl-5.8.8-r2 (which was already installed). However, Perl emerging failed, with the following error: ############################################################### Making Errno (nonxs) Writing Makefile for Errno make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' ../../miniperl "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm cp Errno.pm ../../lib/Errno.pm make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' makefile:445: *** Recursive variable `PATH' references itself (eventually). Stop. !!! ERROR: dev-lang/perl-5.8.8-r2 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 3364: Called src_compile perl-5.8.8-r2.ebuild, line 281: Called die ############################################################### Note that my PATH is the generic "/sbin:/bin:/usr/sbin:/usr/bin". My `emerge --info`: ############################################################### # emerge --info Portage 2.1.2.2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.17-gentoo-r8 i686) ================================================================= System uname: 2.6.17-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System release 1.12.9 Timestamp of tree: Sat, 10 Mar 2007 14:30:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical --with-bdeps y" FEATURES="autoconfig ccache distlocks metadata-transfer nostrip parallel-fetch sandbox sfperms strict userfetch userpriv usersandbox" GENTOO_MIRRORS=" ftp://ftp.proxad.net/mirrors/ftp.gentoo.org http://gentoo.mirror.sdv.fr http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://ftp.easynet.nl/mirror/gentoo" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LINGUAS="en" MAKEOPTS="-j3" 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" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acpi alsa ao apache2 asf audiofile avi berkdb bitmap-fonts bzip2 bzlib cdr cjk cli cracklib crypt ctype cups curl dba dbx dga directfb divx dri dts dvd dvdr exif fam fbcon ffmpeg firefox flac flash foomaticdb freewnn ftp gd gdbm gif gmedia gmp gnutls gpm gtk gtk2 icecast iconv imagemagick imlib innodb ipv6 isdnlog java jikes jpeg kde kdeenablefinal kerberos krb4 lame ldap libg++ libnotify libwww m17n-lib mad maildir matroska memlimit mhash midi mikmod mime ming mmx mng mp3 mpeg musepack mysql ncurses nls nptl nptlonly ogg oggvorbis openal opengl oss pam pcre pdf pdflib perl php pic png posix ppds pppd pulseaudio python qt qt3 qt4 quicktime readline realmedia reflection sasl scanner sdl session shout simplexml sndfile soap sockets socks5 speex spell spl sqlite sse sse2 ssl svg svga tcltk tcpd theora tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode usb utempter vcd vhosts vorbis win32codecs wmf wmp wxwindows x264 x86 xml xml2 xorg xosd xpm xprint xsl xv xvid zlib {USE}" ALSA_CARDS="emu10k1 intel8x0" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="fbdev fglrx radeon vesa vga" Unset: CTARGET, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS ############################################################### Note that I don't have time to test/check more things, if you can reproduce the problem (though I could not find anyone else having the same problem with perl, on the Gentoo forums, and on Google, so maybe I missed something...). (A patch will follow)
Created attachment 113488 [details, diff] Temporarily solves the recursive PATH variable problem Note that this is only a temporary patch... I simply expanded the PATH variable (hoping that it didn't get modified elsewhere -I did'nt check). From a search, I found that the correct solution would be to use the ':=' operator, instead of the normal assignment operator, but it didn't seem to change anything, using 'PATH := "`pwd`:${PATH}"'... (maybe it must be set on a dedicated line...). With this patch, it seems to build correctly (I didn't run the tests, but it emerges fine), but I now get: ############################################################### Making Errno (nonxs) Writing Makefile for Errno make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' ../../miniperl "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm cp Errno.pm ../../lib/Errno.pm make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r2/work/perl-5.8.8/ext/Errno' make: [extras.make] Error 1 (ignored) Everything is up to date. Type 'make test' to run test suite. >>> Source compiled. >>> Test phase [not enabled]: dev-lang/perl-5.8.8-r2 ############################################################### (the "make: [extras.make] Error 1 (ignored)" part)... From a general search on this kind of errors, it seems to be generally due to badly-designed tests, without consequences... (though I didn't check the code at all).
I just had a similar problem with media-libs/freetype-2.3.4 (well, from a subpackage, ft2demos-2.3.4). See bug #175569. I temporarily solved it, the same way (expanding $PATH).
See https://bugs.gentoo.org/show_bug.cgi?id=126231#c12 Sorry about this.