hi, i have upgraded my perl to 5.8.6-r5 and noticed that MakeMaker is now not built with perl. this makes many perl-dependant packages fail to build (e.g. digest-base and family). i tried to emerge ExtUtils-MakeMaker but get following error: Checking if your kit is complete... Looks good Writing Makefile for ExtUtils::MakeMaker >>> Test phase [not enabled]: perl-core/ExtUtils-MakeMaker-6.20 >>> Install ExtUtils-MakeMaker-6.20 into /var/tmp/portage/ExtUtils-MakeMaker-6.20/image/ category perl-core make: *** No rule to make target `/usr/lib/perl5/5.8.6/i686-linux/CORE/config.h', needed by `Makefile'. Stop. !!! ERROR: perl-core/ExtUtils-MakeMaker-6.20 failed. !!! Function src_install, Line 26, Exitcode 2 and I am stuck now. what is the proper way to migrate from perl-alone version of MakeMaker and external one ? emerge info: Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r11 i686) ================================================================= System uname: 2.6.11-gentoo-r11 i686 Intel(R) XEON(TM) MP CPU 1.90GHz Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 28 2005, 10:47:43)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache collision-protect distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://trumpetti.atm.tut.fi/gentoo" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://1g.compfort.com.pl/gentoo-portage" USE="x86 X alsa apm berkdb bitmap-fonts chroot clearpasswd crypt emboss gdbm gpm gtk gtk2 hardened jpeg minimal mmx mp3 ncurses nptl pam perl python readline samba sse ssl symlink tcpd truetype-fonts type1-fonts zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
You have minimal in your keywords. If you didn't want a minimal perl, you shouldn't have emerged it with the keyword enabled. Minimal perl is for the core perl interpeter and nothing more.
ive been using minimal keyword since it has appeared in portage with problems and MakeMaker is so important module that it was included in such ebuild. why the change? and since it has been removed from base perl ebuild, then why am i not able to emerge the 'external' MakeMaker ?
errata='with problems'->'without problems'
The minimal useflag is new to perl land. It is intended for those folks that need the perl core engine, but not the ability to use/need perl modules. Everything but the absolute core is stripped out, MakeMaker included. Its ideal target audiance is the bootstrap folks and the minimal device installs.
i also find another reason to using minimal flag: lots of packages depend on modules which are not built with 'minimal' perl ebuild and are available externally, e.g. podparser. building perl without minimal keyword makes other packages complain about file collision with perl copies of those. also, you wrote that minimal build includes MakeMaker, which is not true. new ebuilds of perl (5.9.7 and 5.9.6-r5) do not include MakeMaker when build as 'minimal' packages. i dont know if i am clear about this?
Afraid you misread that - everything is stripped out, including Makemaker, means that makemaker is stripped out. Really, the whole point to a minimal install isn't so that you can go back and install all of the core modules again. Its so you have a minimal perl interpreter for a closed environment where you don't need the cruft of a full install, just something you can pass some basic perl arguments to.
i am sorry for my misreading and thanks for clarification. i do fully understand your point about minimal perl ebuild; its that what is being stripped off is something that worries me. please elaborate on the other things i mentioned: 1. why MakeMaker was stripped off in new ebuild - it is crucial for perl-dependand packages 2. why emerging MakeMaker fails 3. what to do with e.g. PodParser, which is dependend upon by e.g. spamassassin and which is built (among other modules) in regular perl ebuild, leading to file collision problems
I have a similar problem, although I'm making a fresh 2005.1 stage1 install. When I do emerge -e --resume system I get: *** Resuming merge... >>> emerge (1 of 47) perl-core/Storable-2.13 to / >>> md5 files ;-) Storable-2.07-r1.ebuild >>> md5 files ;-) Storable-2.13.ebuild >>> md5 files ;-) files/digest-Storable-2.13 >>> md5 files ;-) files/digest-Storable-2.07-r1 >>> md5 src_uri ;-) Storable-2.13.tar.gz >>> Unpacking source... >>> Unpacking Storable-2.13.tar.gz to /var/tmp/portage/Storable-2.13/work >>> Source unpacked. * Using ExtUtils::MakeMaker Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/site_perl/5.8.6/i386-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.6/i386-linux /usr/lib/perl5/5.8.6 /usr/local/lib/site_perl .) at Makefile.PL line 8. BEGIN failed--compilation aborted at Makefile.PL line 8. make: *** No targets specified and no makefile found. Stop. !!! ERROR: perl-core/Storable-2.13 failed. !!! Function perl-module_src_compile, Line 119, Exitcode 2 !!! compilation failed !!! If you need support, post the topmost build error, NOT this status message. My emerge info: Gentoo Base System version 1.6.13 Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130, glibc-2.3.5-r0, 2.6.12-gentoo-r6 i686) ================================================================= System uname: 2.6.12-gentoo-r6 i686 Pentium III (Coppermine) dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://gentoo.zie.pg.gda.pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa apm arts avi bash-completion berkdb bitmap-fonts blas browserplugin bzip2 cdparanoia cdr clamav crypt cups directfb divx4linux dri dv dvd dvdr dvdread eds emboss encode ethereal exif fbcon flac foomaticdb fortran ftp gd gdbm gif gphoto2 gpm gstreamer gtk gtk2 howl icc ieee1394 imagemagick imap imlib innodb ipv6 jabber jack java jpeg kde kerberos lapack ldap libg++ libwww lm_sensors mad mikmod mime mmx mng mono motif mozilla mp3 mpeg mssql mysql nas ncurses nls nptl ogg oggvorbis opengl oss pam pda pdflib perl plotutils png posix postgres python qt quicktime radius readline samba sasl sdl slp snmp sockets spell sse ssl tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb vcd vorbis win32codecs xine xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY I guess I could get it done by doing: emerge ExtUtils-MakeMaker but that would mean having to emerge the whole system again and is only a not very nice workaround anyway.
(In reply to comment #8) > Can't locate ExtUtils/MakeMaker.pm in @INC (@INC > contains: /etc/perl /usr/lib/perl5/site_perl/5.8.6/i386-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.6/i386-linux /usr/lib/perl5/5.8.6 /usr/local/lib/site_perl .) > CBUILD="i686-pc-linux-gnu" > CFLAGS="-O3 -march=pentium3 -pipe" > CHOST="i686-pc-linux-gnu" Your INC reflects that perl was built with the archname of i386, but your chost and flags are for an i686 - are you trying to switch arch settings? I don't see minimal in your use flags, but can only assume it was there when you built perl. I am in the process of placing a warning in the build of perl so that folks using minimal perl understand that minimal is as the dictionary implies - bare, minimal. I am closing this bug.
There's never been a 'minimal' in my USE, neither have I player with the arch setting. Both have been the same since I set them at bootstraping. The problem must still be there...
did you build perl on that box or did you inherit from a livecd/grp, maybe from a stage3 intended for i386 folks? (not that any of this has anything to do with the original bug, which though similar was related to the minimal use flag)
(In reply to comment #11) I checked. I thougt perl was built during 'emerge -e system'. But when I looked at the output of 'emerge -pve system' I found it below perl-core/Storable which means I never got that far. When I do 'emerge -pv perl' perl is marked as R so somehow I must have it. I guess it must be from the livecd I'm booting, because I see no other option and that would explain the 386. All in all I think this is an error in the way 'emerge -e system' orders packages. I'm new to Gentoo Bugzilla so please let me know if I should submit a bug-report about this. Thanks for your help
One more thing: I'm doing a stage1 install.