Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 97894 - perl's MakeMaker problem
Summary: perl's MakeMaker problem
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-04 05:01 UTC by barthek
Modified: 2005-08-14 09:37 UTC (History)
0 users

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 barthek 2005-07-04 05:01:20 UTC
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
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2005-07-04 05:30:31 UTC
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. 
Comment 2 barthek 2005-07-04 05:36:41 UTC
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 ?
Comment 3 barthek 2005-07-04 05:38:06 UTC
errata='with problems'->'without problems'
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2005-07-04 06:10:15 UTC
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.  
Comment 5 barthek 2005-07-04 06:55:34 UTC
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? 
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2005-07-04 08:53:52 UTC
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. 
Comment 7 barthek 2005-07-04 10:42:44 UTC
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
Comment 8 Radoslaw Dlugosz 2005-08-14 02:49:18 UTC
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. 
Comment 9 Michael Cummings (RETIRED) gentoo-dev 2005-08-14 03:53:45 UTC
(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.
Comment 10 Radoslaw Dlugosz 2005-08-14 05:14:10 UTC
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... 
Comment 11 Michael Cummings (RETIRED) gentoo-dev 2005-08-14 08:51:14 UTC
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)
Comment 12 Radoslaw Dlugosz 2005-08-14 09:36:03 UTC
(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 
Comment 13 Radoslaw Dlugosz 2005-08-14 09:37:59 UTC
One more thing: I'm doing a stage1 install.