Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 342395 - perl-core/File-Spec-3.31 fails w/ Cwd.pm error
Summary: perl-core/File-Spec-3.31 fails w/ Cwd.pm error
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-23 21:15 UTC by Alex Orange
Modified: 2010-11-24 08:56 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log of File-Spec-3.31 (File-Spec-3.31-build.log,2.23 KB, text/plain)
2010-10-25 01:38 UTC, Alex Orange
Details
perl build log (dev-lang:perl-5.12.2-r2:20101121-064654.log,779.85 KB, text/plain)
2010-11-21 08:03 UTC, Alex Orange
Details
HTML Tagset build log (dev-perl:HTML-Tagset-3.20:20101121-080055.log,2.26 KB, text/plain)
2010-11-21 08:03 UTC, Alex Orange
Details
libperl build log (sys-devel:libperl-5.10.1:20101121-064648.log,856 bytes, text/plain)
2010-11-21 08:04 UTC, Alex Orange
Details
Second slightly different error with HTML-Tagset. (dev-perl:HTML-Tagset-3.20:20101122-154423.log,2.27 KB, text/plain)
2010-11-22 15:41 UTC, Alex Orange
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Orange 2010-10-23 21:15:29 UTC
I upgraded perl with all my other packages. Read the eselect news telling me about the need to use perl-cleaner. Used "sudo perl-cleaner -v --all -- -a" and it failed on perl-core/Test-Simple with an error about Cwd.pm failing. Looking for a possible answer I stumbled on http://bugs.gentoo.org/show_bug.cgi?id=329339 and uninstalled perl-core/File-Spec. Not only did this not fix the problem, I can not reinstall File-Spec with the same error about Cwd.pm failing. I then tried remerging perl, that did not work. I then tried completely unmerging and remerging perl, this again did not work but I did notice this time, under the "ignore any error" the same message.

The message that all three packages are giving is pretty much:
Cwd.pm did not return a true value at /usr/lib64/perl5/5.12.2/File/Find.pm line 8.

The line number is 6 for File-Spec and 8 for perl, not sure why the difference, but everything else is the same. The perl message was:

 * Generating ConfigLocal.pm (ignore any error) ...
Cwd.pm did not return a true value at /usr/lib64/perl5/5.12.2/File/Find.pm line 8.

which is why I did not notice it the first few times.

FYI, I am masking perl-5.12.2-r1 and downgrading to w/e the previous perl was, keep this in mind when asking me to check things plz :)

Reproducible: Always

Steps to Reproduce:
1. Upgrade perl to 5.12.2-r1 or install perl-5.12.2-r1 from scratch
2. Run "sudo perl-cleaner -v --all -- -a"
3.
Actual Results:  
Fails on perl-core/File-Spec.

Expected Results:  
Re-emerges all necessary packages without errors.

Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.11.2-r0, 2.6.33-gentoo-r2 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.33-gentoo-r2-x86_64-Intel-R-_Core-TM-_i7_CPU_930_@_2.80GHz-with-gentoo-1.12.13
Timestamp of tree: Sat, 23 Oct 2010 17:30:01 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=core2 -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -mtune=core2 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.usu.edu/mirrors/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ "
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 apache2 avahi bash-completion berkdb bzip2 cairo caps cdda cddb cdio cdr cli cracklib crypt cups cxx dbus doc dri dvd dvdr examples exif fam fortran ftp gdbm gnome gnome-print gnutls gpm gtk hal iconv ipv6 ithreads java kerberos latex ldap lm_sensors md5sum mmx mng modperl modules mp3 mpeg mudflap multilib mysql ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl php png pppd python qt3support readline samba session smp sse sse2 sse3 ssl subversion svg symlink sysfs syslog tcpd threads truetype unicode usb vhosts vim-syntax vim-with-x vorbis x264 xinerama xml xorg xulrunner xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="hp1020" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-2" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

=================================================================
                        Package Settings
=================================================================

dev-lang/perl-5.12.2-r1 was built with the following:
USE="berkdb doc gdbm ithreads (multilib) -build -debug"
Comment 1 Torsten Veller (RETIRED) gentoo-dev 2010-10-24 05:16:51 UTC
(In reply to comment #0)
> I then tried completely unmerging and remerging perl,
> this again did not work

Then please attach the build log to this bug.
Comment 2 Alex Orange 2010-10-25 01:33:51 UTC
Just to clarify before you get this. As far as I can tell, most of perl is okay. The ebuild itself did not fail, but I believe this is because it was ignoring errors at that point.
Comment 3 Alex Orange 2010-10-25 01:38:56 UTC
Created attachment 251885 [details]
build.log of File-Spec-3.31

Build log of File-Spec-3.31.
Comment 4 Alex Orange 2010-10-25 01:39:50 UTC
Oops, just realized that because it didn't fail as far as emerge is concerned I'm not sure how to get the build.log file. The temp files in /var/tmp/portage have been deleted since the build was "successful". If there's some way of telling emerge to save, let me know and I'll do it.

What I am attaching is the File-Spec-3.31 build log.
Comment 5 Torsten Veller (RETIRED) gentoo-dev 2010-10-25 06:14:18 UTC
make.conf.5:

PORT_LOGDIR
This variable defines the directory in which per-ebuild logs are kept. Logs are created only when this is set. They are stored as ${CATEGORY}:${PF}:YYYYMMDD-HHMMSS.log in  the  directory specified.....
Comment 6 Alex Orange 2010-11-21 08:02:01 UTC
I apologize for the long delay, I've been extremely busy and this cripples half of my system it seems.

The failure is slightly different this time. The first package to fail is HTML-Tagset-3.20. However, the error is exactly the same, and I'm assuming that if File-Spec-3.31 went first that it would fail as well.

I've attached the libperl and perl build logs (perl shows and ignores a similar/identical error message) and HTML-Tagset-3.20, the first package to actually die because of the error.
Comment 7 Alex Orange 2010-11-21 08:03:04 UTC
Created attachment 254981 [details]
perl build log
Comment 8 Alex Orange 2010-11-21 08:03:41 UTC
Created attachment 254983 [details]
HTML Tagset build log

First package to actually die because of the error, not sure if this is useful or not.
Comment 9 Alex Orange 2010-11-21 08:04:24 UTC
Created attachment 254985 [details]
libperl build log

Not sure if this is even relevant, but I'll attach it anyway. I'm not seeing any errors in the build.
Comment 10 Torsten Veller (RETIRED) gentoo-dev 2010-11-21 09:52:46 UTC
Which Cwd.pm is broken? What package does install the first Cwd.pm from
perl -E 'foreach (@INC){say "$_/Cwd.pm" if -f "$_/Cwd.pm"}'
Comment 11 Alex Orange 2010-11-21 17:58:07 UTC
I'm sorry, I don't understand the question. The output of your command is:

/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Cwd.pm
/usr/lib64/perl5/5.12.2/x86_64-linux-thread-multi/Cwd.pm

Other than that, I'm not sure how to test one file or the other.
Comment 12 Alex Orange 2010-11-21 22:13:23 UTC
Oh, also, the first file doesn't seem to belong to anything. Would it be safe to delete it?

~ $ equery belongs /usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Cwd.pm
[ Searching for file(s) /usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Cwd.pm in *... ]
~ $ equery belongs /usr/lib64/perl5/5.12.2/x86_64-linux-thread-multi/Cwd.pm
[ Searching for file(s) /usr/lib64/perl5/5.12.2/x86_64-linux-thread-multi/Cwd.pm in *... ]
dev-lang/perl-5.12.2-r2 (/usr/lib64/perl5/5.12.2/x86_64-linux-thread-multi/Cwd.pm)
Comment 13 Torsten Veller (RETIRED) gentoo-dev 2010-11-22 07:50:32 UTC
(In reply to comment #12)
> Oh, also, the first file doesn't seem to belong to anything. Would it be safe
> to delete it?
> 
> ~ $ equery belongs /usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Cwd.pm
> [ Searching for file(s) /usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Cwd.pm in *... ]

It should be installed by perl-core/File-Spec.
This file seems to be the culprit and it is safe to remove it.
Comment 14 Alex Orange 2010-11-22 15:40:10 UTC
Ok, now I'm getting:

 * perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none DESTDIR=/var/tmp/portage/dev-perl/HTML-Tagset-3.20/image/
File/Spec.pm did not return a true value at /usr/lib64/perl5/5.12.2/File/Path.pm line 8.
BEGIN failed--compilation aborted at /usr/lib64/perl5/5.12.2/File/Path.pm line 8.
Compilation failed in require at /usr/lib64/perl5/5.12.2/ExtUtils/MakeMaker.pm line 11.
BEGIN failed--compilation aborted at /usr/lib64/perl5/5.12.2/ExtUtils/MakeMaker.pm line 11.
Compilation failed in require at Makefile.PL line 8.
BEGIN failed--compilation aborted at Makefile.PL line 8.

Still on dev-perl/HTML-Tagset-3.20. I'll attach that build log as well.
Comment 15 Alex Orange 2010-11-22 15:41:50 UTC
Created attachment 255123 [details]
Second slightly different error with HTML-Tagset.
Comment 16 Torsten Veller (RETIRED) gentoo-dev 2010-11-22 16:03:16 UTC
Replace *Cwd.pm* with *File/Spec.pm* in comment#10:
perl -E 'foreach (@INC){say "$_/File/Spec.pm" if -f "$_/File/Spec.pm"}'

You probably have a broken File/Spec.pm in vendor_perl/5.12.2 too.


You can use qfile from app-portage/portage-utils to find all orphaned files in the vendor branch:
find /usr/lib64/perl5/vendor_perl/5.12.2 -type f -exec qfile -o {} +
Comment 17 Alex Orange 2010-11-22 17:48:29 UTC
Should I delete all the orphaned files listed just to be safe?

~ $ find /usr/lib64/perl5/vendor_perl/5.12.2 -type f -exec qfile -o {} +
/usr/lib64/perl5/vendor_perl/5.12.2/SGMLS/Output.pm
/usr/lib64/perl5/vendor_perl/5.12.2/SGMLS/Refs.pm
/usr/lib64/perl5/vendor_perl/5.12.2/SGMLS.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/BIN_WRITE_VERSION_NV.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/fd_retrieve.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/lock_store.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/_retrieve.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/store.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/nstore_fd.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/freeze.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/_store.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/nfreeze.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/retrieve.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/store_fd.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/read_magic.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/lock_nstore.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/file_magic.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/logcarp.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/nstore.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/_freeze.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/CAN_FLOCK.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/logcroak.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/_store_fd.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/show_file_magic.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/lock_retrieve.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/Storable.so
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/BIN_VERSION_NV.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/autosplit.ix
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Storable/thaw.al
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/auto/Cwd/Cwd.so
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Cygwin.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Win32.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Functions.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/VMS.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/OS2.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Mac.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Epoc.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/File/Spec/Unix.pm
/usr/lib64/perl5/vendor_perl/5.12.2/x86_64-linux-thread-multi/Storable.pm
Comment 18 Alex Orange 2010-11-22 17:55:51 UTC
Specifically what I'm thinking of doing is:

find /usr/lib64/perl5/vendor_perl/5.12.2 -type f -exec qfile -o {} + | sed "s/^/rm /g" | sudo sh

Will that be safe?
Comment 19 Torsten Veller (RETIRED) gentoo-dev 2010-11-22 21:32:08 UTC
(In reply to comment #17)
> Should I delete all the orphaned files listed just to be safe?

The files are from three packages:
perl-core/File-Spec
perl-core/Storable
dev-perl/SGMLSpm

Yes, delete the files and reinstall the packages if you need them.
Comment 20 Alex Orange 2010-11-23 17:22:24 UTC
Thank you, that fixed it. Ran sudo perl-cleaner --all and everything was successful :)

Might be good to figure out what's causing this bug though. I'll leave this open unless anyone cares to investigate.
Comment 21 Torsten Veller (RETIRED) gentoo-dev 2010-11-24 08:56:16 UTC
(In reply to comment #20) 
> Might be good to figure out what's causing this bug though. I'll leave this
> open unless anyone cares to investigate.

This seems to be a unique problem. Not reproducible.
In your description you said you uninstalled File-Spec, then later you had the files still installed.

I close this bug as WORKSFORME