Whatever I do, g-cpan.pl ignores PORTDIR_OVERLAY="/usr/local/portage" which is defined in make.conf. It created ebuilds in /perl-gcpan (i.e. root directory) and subsequently fails to install them since it fails to find dependencies. Reproducible: Always Steps to Reproduce: 1. g-cpan.pl -i Whatever::Perl::Module Actual Results: # g-cpan.pl -i Bundle::W3C::Validator Use of uninitialized value in substitution iterator at /usr/bin/g-cpan.pl line 858. mkdir /perl-gcpan CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Thu, 02 Jun 2005 11:07:54 GMT * g-cpan.pl: Need to create ebuild for 'Bundle::W3C::Validator': Bundle-W3C-Validator Running make for S/SC/SCOP/Bundle-W3C-Validator-0.6.5.tar.gz CPAN: LWP::UserAgent loaded ok Fetching with LWP: ftp://ftp.perl.org/pub/CPAN/authors/id/S/SC/SCOP/Bundle-W3C-Validator-0.6.5.tar.gz CPAN: Compress::Zlib loaded ok Checksum for /root/.cpan/sources/authors/id/S/SC/SCOP/Bundle-W3C-Validator-0.6.5.tar.gz ok Scanning cache /root/.cpan/build for sizes Bundle-W3C-Validator-0.6.5/ Bundle-W3C-Validator-0.6.5/lib/ Bundle-W3C-Validator-0.6.5/lib/Bundle/ Bundle-W3C-Validator-0.6.5/lib/Bundle/W3C/ Bundle-W3C-Validator-0.6.5/lib/Bundle/W3C/Validator.pm Bundle-W3C-Validator-0.6.5/META.yml Bundle-W3C-Validator-0.6.5/MANIFEST Bundle-W3C-Validator-0.6.5/ChangeLog Bundle-W3C-Validator-0.6.5/Makefile.PL Bundle-W3C-Validator-0.6.5/README Bundle-W3C-Validator-0.6.5/SIGNATURE Bundle-W3C-Validator-0.6.5/t/ Bundle-W3C-Validator-0.6.5/t/00load.t Removing previously used /root/.cpan/build/Bundle-W3C-Validator-0.6.5 CPAN.pm: Going to build S/SC/SCOP/Bundle-W3C-Validator-0.6.5.tar.gz Checking if your kit is complete... Looks good Warning: prerequisite Config::General 0 not found. Warning: prerequisite Set::IntSpan 0 not found. Warning: prerequisite Text::Iconv 0 not found. Writing Makefile for Bundle::W3C::Validator ---- Unsatisfied dependencies detected during [S/SC/SCOP/Bundle-W3C-Validator-0.6.5.tar.gz] ----- Config::General Text::Iconv Set::IntSpan Ignoring dependencies on modules Config::General, Text::Iconv, Set::IntSpan cp lib/Bundle/W3C/Validator.pm blib/lib/Bundle/W3C/Validator.pm Manifying blib/man3/Bundle::W3C::Validator.3pm /usr/bin/make -- OK * g-cpan.pl: Existing ebuild found for dev-perl/URI * g-cpan.pl: Existing ebuild found for dev-perl/Net-IP * g-cpan.pl: Existing ebuild found for perl-core/CGI * g-cpan.pl: Existing ebuild found for dev-perl/libwww-perl * g-cpan.pl: Existing ebuild found for dev-perl/config-general * g-cpan.pl: Existing ebuild found for dev-perl/HTML-Parser * g-cpan.pl: Existing ebuild found for dev-perl/Text-Iconv * g-cpan.pl: Existing ebuild found for dev-perl/Set-IntSpan * g-cpan.pl: perl-gcpan/Bundle-W3C-Validator created in Calculating dependencies \ emerge: there are no ebuilds to satisfy "dev-perl/Net-IP". # ls -R /perl-gcpan/ /perl-gcpan/: Bundle-W3C-Validator /perl-gcpan/Bundle-W3C-Validator: Bundle-W3C-Validator-0.6.5.ebuild files /perl-gcpan/Bundle-W3C-Validator/files: digest-Bundle-W3C-Validator-0.6.5 Expected Results: Install CPAN modules! ;-)
please post emerge info, as well as the output of env. and getting an error on line 858 is related to the fact that it can't see where you have portdir_overlay set or your tempdir
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-r9 i686) ================================================================= System uname: 2.6.11-gentoo-r9 i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 4 2005, 21:54:00)] ccache version 2.3 [enabled] 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-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/glftpd/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache collision-protect distlocks makecheck sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo ftp://ftp.fi.muni.cz/pub/linux/gentoo/" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow acpi alsa apache2 apm avi bash-completion berkdb bitmap-fonts crypt curl emboss encode fbcon firebird foomaticdb fortran gd gd-external gdbm gif gpm imap imlib innodb java jpeg junit libg++ libwww mad maildir mikmod mmx motif mp3 mpeg mysql ncurses nls nptl nptlonly odbc oggvorbis opengl oss pam pdflib perl png pnp postgres python quicktime readline sasl slang snmp socks5 spell sqlite sse ssl tcpd tiff truetype truetype-fonts type1-fonts unicode xml xml2 xmms zlib linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL ------- GREP_COLOR=31 LC_PAPER=en_US.UTF-8 REMOTEHOST=localhost MANPATH=/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.15.92.0.2/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man::/opt/blackdown-jdk-1.4.2.01/man LC_ADDRESS=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 HOSTNAME=testbox SHELL=/bin/bash TERM=xterm CATALINA_HOME=/opt/tomcat5 HISTSIZE=100 LC_NUMERIC=en_US.UTF-8 ANT_HOME=/usr/share/ant-core HISTFILESIZE=0 USER=root LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.ogg=00;36:*.flac=00;36:*.aac=00;36: LC_TELEPHONE=en_US.UTF-8 PAGER=/usr/bin/less CONFIG_PROTECT_MASK=/etc/terminfo MAIL=/var/mail/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130:/opt/blackdown-jdk-1.4.2.01/bin:/opt/blackdown-jdk-1.4.2.01/jre/bin LC_MESSAGES=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 PWD=/root JAVA_HOME=/opt/blackdown-jdk-1.4.2.01 EDITOR=/bin/nano JAVAC=/opt/blackdown-jdk-1.4.2.01/bin/javac LANG=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 HISTCONTROL=ignoredups JDK_HOME=/opt/blackdown-jdk-1.4.2.01 SHLVL=1 HOME=/root LANGUAGE=en_US.UTF-8 LESS=-R LOGNAME=root GCC_SPECS= CVS_RSH=ssh LC_CTYPE=en_US.UTF-8 CLASSPATH=. LESSOPEN=|lesspipe.sh %s INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.15.92.0.2/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info DISPLAY=localhost:0.0 LC_TIME=en_US.UTF-8 G_BROKEN_FILENAMES=1 CONFIG_PROTECT=/var/bind /opt/glftpd/etc LC_NAME=en_US.UTF-8 _=/usr/bin/env
Thanks :) I meant to add you can cut anything out of the env part that might be sensitive (nothing strikes me as such, but you know). Mostly I was verifying you weren't overriding the make.conf values. And /usr/local/portage is a regular directory, right? This was run as root (ak, even if it wasn't, it should have been emerge to complain, not the script). The symptoms looks like the overlay dir is getting dropped, so all that is left for a value is /perl-gcpan (hence the building in root). g-cpan -vg (verbose generate) would let us see a bit more detail of what it's doing while it bombs (without trying to do the final install), though you'd want to (re)move the directory it created last time so it doesn't prematurely exit with "already exists"...then again, even with the directory there, we should see it tell us where it thinks your overlay is... If you find yourself on irc in the next little bit, you know my nick. I'm going to setup a new overlay for /usr/local/portage just to be sure it isn't some weird quirk of portage and usr being in the path or something (you know, random quirkiness). Sad part is this exact same package (was that your bug?) for the older g-cpan was what prompted a slew of rewrites to adapt, and i've installed this ebuild via g-cpan.
emerge -p perl-gcpan/Bundle-W3C-Validator These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] perl-gcpan/Net-IP-1.22 [ebuild R ] perl-gcpan/Bundle-W3C-Validator-0.6.5 after building it in the /usr/local/portage/perl-gcpan overlay (so that path wasn't the problem at least).
(for posterity) jakub and i tracked this down over irc to a $PORTDIR_OVERLAY implementation problem