There is a typo in the <cvsroot>/eclass/perl-module.eclass file. In this file (introduced in CVS version 1.50 on 24 Sep) there was a specific workaround for an API change in MakeMaker. MakeMaker 6.11 changed how PREFIX and DESTDIR are treated. However, the actual code of the test is: MMSIXELEVEN=`perl -e 'use ExtUtils::MakeMaker; print( $ExtUtils::MakeMaker::VERSION gt "6.11" )'` However, this test checks for versions "greater than". The test should be "greater than or equal to": MMSIXELEVEN=`perl -e 'use ExtUtils::MakeMaker; print( $ExtUtils::MakeMaker::VERSION ge "6.11" )'` One final note: This bug will go away on its own once a version of ExtUtils-MakeMaker beyond 6.11 is unmasked... Reproducible: Always Steps to Reproduce: I discovered this bug with dev-perl/Mail-SpamAssassin-2.60. It autoupgraded (via emerge -u) and stopped working. I investigated, and found all the paths were pointing in the /var/tmp/portage tree. So: emerge Mail-SpamAssassin. Actual Results: Examine /usr/bin/spamassassin If the "my $PREFIX" line references a path in /var/tmp you have the bug. Expected Results: After changing my local copy of perl-module.eclass and emerging again, the line is now my $PREFIX= '/usr'; as it should be. Portage 2.0.49-r13-2 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-gentoo- r5) ================================================================= System uname: 2.4.20-gentoo-r5 i686 VIA Ezra Gentoo Base System version 1.4.3.10p1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=i586 -m3dnow -O2 -pipe -fomit-frame-pointer" CHOST="i586-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/confi g /usr/kde/3/share/config /var/chroot/named/etc /var/chroot/apache2/etc /var/bin d" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=i586 -m3dnow -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox ccache fixpackages noclean" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linu x/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm arts avi crypt cups encode foomaticdb gif imlib jpeg libg++ lib www mad mikmod motif mpeg ncurses nls oggvorbis opengl pdflib png quicktime sdl spell svga truetype xml2 xmms xv zlib gdbm berkdb slang readline java mysql gpm tcpd pam perl python -X -gtk -gnome -kde -qt -alsa apache2 ssl"
*** Bug 31643 has been marked as a duplicate of this bug. ***
Fixed in cvs. Thank you.
Hello guys, there is something still wrong with this, please look at it deeply and reopen the bug if necessary. If I try to emerge "gscmxx" which uses perl-module eclass, I get the error pasted below. I've made a quick and dirty fix in eclass to make gscmxx compile, by removing the 'if clause' in line 78 of perl-module.eclass but I don't know much about perl modules and can't help you to fix it the right way. Installing /var/tmp/portage/gscmxx-0.4.1/image/usr/bin/gscmxx Writing /var/tmp/portage/gscmxx-0.4.1/image//usr/lib/perl5/vendor_perl/5.8.2/i686-linux/auto/gscmxx/.packlist /usr/bin/perl "-MExtUtils::Command" -e mkpath /usr/share/pixmaps/gscmxx ACCESS DENIED mkdir: /usr/share/pixmaps/gscmxx mkdir /usr/share/pixmaps/gscmxx: Permission denied at /usr/lib/perl5/5.8.2/ExtUtils/Command.pm line 186 make: *** [pixmaps] Error 255 !!! ERROR: app-misc/gscmxx-0.4.1 failed. !!! Function perl-module_src_install, Line 78, Exitcode 2 !!! (no error message) --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-gscmxx-0.4.1-21390.log" mkdir: /usr/share/pixmaps/gscmxx -------------------------------------------------------------------------------- w0 gscmxx #