POE requires File-Spec (File::spec from cpan). The current ebuild does not enforce this and cpan autodepend causes sandbox violations. Reproducible: Always Steps to Reproduce: 1. emerge POE w/o File-Spec installed 2. 3. Actual Results: Sanbox violations Expected Results: Installed File-Spec (0.87) first
Can I maybe see the output you are referring to first? Thing of it is, File::Spec is a *core* perl module. The ebuilds that exist are for upgrading, but the baseline for file-spec is in the core perl install. Nothing in the POE source indicates that it requires a particular version of File::Spec (<perl 5.8.6 came with 0.87, 5.8.6 comes with 3.01, never mind the huge version name jumps).
*** Bug 94770 has been marked as a duplicate of this bug. ***
While i'm thinking of it - please also post the output of emerge info and perl -V.
*** Bug 94785 has been marked as a duplicate of this bug. ***
(sorry for the dupe bugs.. i hit refresh in the wrong windows, (twice...) ) services log # 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.12-rc1-WTF? i686) ================================================================= System uname: 2.6.12-rc1-WTF? i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.1.3-r1,dev-lang/python-2.3.5 [2.3.5 (#1, Apr 27 2005, 19:01:16)] dev-lang/python: 2.2.3-r5, 2.1.3-r1, 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.5, 1.9.5, 1.7.9-r1, 1.6.3, 1.4_p6 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="-march=pentium3 -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/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="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://adelie.polymtl.ca/ ftp://ftp.ndlug.nd.edu/pub/gentoo/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://mirror.datapipe.net/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 apache2 apm arts avi berkdb bitmap-fonts cdr crypt cscope curl emboss encode fam foomaticdb fortran gd gdbm gif gpm imap imlib innodb ipv6 java jit jpeg junit ldap libg++ libwww mad maildir mikmod mmx motif mp3 mpeg mysql ncurses nls nopri norhino nozaptel nptl ogg oggvorbis opengl oscar oss pam pdflib perl png postgres python quicktime readline samba slang snmp spell sqlite sse ssl tcpd tiff truetype truetype-fonts type1-fonts vorbis xml xml2 zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY services log # perl -V Summary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=linux, osvers=2.6.11-rc2wtf?, archname=i686-linux uname='linux services 2.6.11-rc2wtf? #80 smp wed feb 2 07:31:43 gmt 2005 i686 intel(r) pentium(r) 4 cpu 3.00ghz genuineintel gnulinux ' config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC -Dccdlflags=-rdynamic -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-march=pentium3 -O3 -pipe -Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1 -Dinstallman3dir=/var/tmp/portage/perl-5.8.5-r5/image//usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux 5.8.2 5.8.2/i686-linux 5.8.4 5.8.4/i686-linux -Dcf_by=Gentoo -Ud_csh -Di_ndbm -Di_gdbm -Di_db' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-march=pentium3 -O3 -pipe', cppflags='-DPERL5 -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under linux Compiled at Mar 15 2005 15:20:35 @INC: /etc/perl /usr/lib/perl5/site_perl/5.8.5/i686-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i686-linux /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 /usr/local/lib/site_perl .
I can't find the old output, here's the bits from emerge.log =/ I had to kill it, as it was stuck in the CPAN module trying to get File::Spec 1117636346: >>> AUTOCLEAN: dev-perl/Curses 1117636351: === Unmerging... (dev-perl/Curses-1.06-r2) 1117636352: >>> unmerge success: dev-perl/Curses-1.06-r2 1117636353: ::: completed emerge (9 of 31) dev-perl/Curses-1.08 to / 1117636353: >>> emerge (10 of 31) dev-perl/POE-0.30.09 to / 1117636353: === (10 of 31) Cleaning (dev-perl/POE-0.30.09::/usr/portage/dev-perl/POE/POE-0.30.09.ebuild) 1117636354: === (10 of 31) Compiling/Merging (dev-perl/POE-0.30.09::/usr/portage/dev-perl/POE/POE-0.30.09.ebuild) 1117637573: *** terminating. 1117637585: Started emerge on: Jun 01, 2005 14:53:05
i was beginning to wonder about you... ok, even downgrading to the same version of poe as you're trying to install i can't dup this. perl -MFile::Spec -e 'print "$File::Spec::VERSION\n";' Please give me the output of the above line - on 5.8.5, it should be 0.87. You can also enable portage logging in your make.conf and send that output if you'd like. Finally, you should see the module sitting in /usr/lib/perl5/5.8.5/File/Spec.pm.
Created attachment 60437 [details] portage log portage log of failing command
I unmerged File-Spec and POE ( I had done 0.87 manually as a work around earlier). This is the output for POE. I think the problem is portage thinks 0.84-r1 is current and POE wants 0.87 and goes to CPAN for it.
I finally understand the source of the problem :) You are the "victim" of bad keywording from another ebuild (which pulled in a copy of File-Spec, which in turn makes Poe get confused since the pulled in copy is older than the one that came with your version of perl - long chain of mishaps got us here). Sync up in a few hours and you should be able to emerge POE without any more issues. Post here either way so I know whether to close the bug or not :)
Hmm, I also have File-Spec-0.84 here with perl-5.8.5-r5. Which ebuild caused this?
Jakub - honestly, it could be one of many. Once upon a time, if a module needed a version of file-spec, we dep'd it (we being the collective dev community, not moi per se). Later on we got "smarter" about it (not to mention portage added ||() behavior) and we started doing ||( file-spec-Version >=base-perl-install) to meet the dep - but those old calls still linger (the ones that merely say "i need a version of file spec - use the ebuild"). Probably belongs on the list of qa bugs i've been working.
Never mind. I assume you
Never mind. I assume you´ll mark 0.87 stable, won´t you?
Already have for x86 and sparc - will be posting a tracking bug to get the other arch's up to speed as well
Thanks, Michael. I upgraded File-Spec and got a bunch of warnings: ## Differing version of File/Spec.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec.pm ## Differing version of File/Spec/Cygwin.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/Cygwin.pm ## Differing version of File/Spec/Epoc.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/Epoc.pm ## Differing version of File/Spec/Mac.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/Mac.pm ## Differing version of File/Spec/OS2.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/OS2.pm ## Differing version of File/Spec/Unix.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/Unix.pm ## Differing version of File/Spec/VMS.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/VMS.pm ## Differing version of File/Spec/Win32.pm found. You might like to rm /usr/lib/perl5/vendor_perl/5.8.5/File/Spec/Win32.pm ## Running 'make install UNINST=1' will unlink all those files for you. Is it safe to delete all those files?
If that was during the install/build, you can ignore them - perl doesn't grok that portage removes files after the merge :) If it was after, let me know
(In reply to comment #16) > If that was during the install/build, you can ignore them - perl doesn't grok > that portage removes files after the merge :) Yeah, it was during build, also the timestamps look OK. Sorry to disturb you. ;-)
(In reply to comment #17) > Yeah, it was during build, also the timestamps look OK. Sorry to disturb you. ;-) It's why I dev :) (meanwhile, we wait for pee to catch up on all of the mail his bug has generated and confirm that he is good now)
I've been working since yesterday ;p, i just opened the bug to get it fixed. -pee
In that case marking fixed :) thanks!