Bug 199518 - dev-lang/perl--5.8.8-r3 - problems with @INC
|
Bug#:
199518
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: AMD64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: blocker
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: solar@gentoo.org
|
Reported By: sevakda@gmail.com
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: dev-lang/perl--5.8.8-r3 - problems with @INC
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-11-18 12:21 0000
|
I had precompiled perl-5.8.8-r2 installed (from some stage) and it worked fine,
but I updated to 5.8.8-r3 and now @INC is wrong. It is missing 'perl5'
directory.
For example: (@INC contains: /etc/perl
/usr/lib64/vendor_perl/5.8.8/x86_64-linux /usr/lib64/vendor_perl/5.8.8
/usr/lib64/vendor_perl /usr/lib64/site_perl/5.8.8/x86_64-linux
/usr/lib64/site_perl/5.8.8 /usr/lib64/site_perl /usr/lib64/5.8.8/x86_64-linux
/usr/lib64/5.8.8 /usr/local/lib/site_perl .) where it should be
/usr/lib64/perl5/*
perl-cleaner all did not do anything,
revdep-rebuild did not help.
What should I do?
Reproducible: Always
Steps to Reproduce:
1. Run a perl script which use;s an external module
2.
3.
Actual Results:
perl fails, and shows @INC being incorrect
Expected Results:
the module is use;d normally
Please post your emerge --info. Also, looks just fine here:
$ perl -e "print @INC";
/etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux
/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8
/usr/local/lib/site_perl .
[ebuild R ] dev-lang/perl-5.8.8-r3 USE="berkdb -build -debug -doc gdbm
-ithreads -perlsuid" 0 kB
emerge --info:
Portage 2.1.3.19 (default-linux/amd64/2007.0/desktop, gcc-4.1.2,
glibc-2.6.1-r0, 2.6.17-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3000+
Timestamp of tree: Sun, 18 Nov 2007 08:27:01 +0000
ccache version 2.4 [enabled]
app-shells/bash: 3.2_p17
dev-java/java-config: 1.3.7, 2.1.2-r1
dev-lang/python: 2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r1
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool: 1.5.24
virtual/os-headers: 2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild
/etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict
unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/sunrise
/home/zaba/devel/gentoo"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa amd64 apache2 arts avi berkdb bitmap-fonts blender-game cairo
cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo
fam firefox fortran gdbm gif gpm gstreamer gtk iconv icq immqt-bc ipv6 irc
isdnlog jpeg kde ldap mad midi mikmod mmx mozbranding mp3 mpeg mudflap ncurses
nls nptl nptlonly ogg opengl openmp oss pam pcre pdf pdflib perl png ppds pppd
python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl
sse sse2 ssl svg tcpd tiff truetype truetype-fonts type1-fonts unicode vorbis
xml xorg xv 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 mulaw multi null plug rate route
share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS,
MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
# perl -e 'print join "\n",@INC'
/etc/perl
/usr/lib64/vendor_perl/5.8.8/x86_64-linux
/usr/lib64/vendor_perl/5.8.8
/usr/lib64/vendor_perl
/usr/lib64/site_perl/5.8.8/x86_64-linux
/usr/lib64/site_perl/5.8.8
/usr/lib64/site_perl
/usr/lib64/5.8.8/x86_64-linux
/usr/lib64/5.8.8
/usr/local/lib/site_perl
.
[ebuild R ] dev-lang/perl-5.8.8-r3 USE="berkdb gdbm -build -debug -doc
-ithreads -perlsuid" 0 kB
And I am on 64 bits.
solar, your patch...
18 Nov 2007; <solar@gentoo.org> -files/perl-5.8.8-lib64.patch,
+files/perl-5.8.8-libbits.patch, perl-5.8.8-r2.ebuild,
perl-5.8.8-r3.ebuild:
- fixed the lib64 patch that was breaking on amd64 32ul.
*** Bug 199525 has been marked as a duplicate of this bug. ***
b0rkage w/ libbits patch confirmed on ppc and x86 - can we please get rid of
that patch soonish for now and test a fixed patch in a -r4 testing version? :)
qa (or pretty much anyone) - reverting this patch swiftly would be mostly
appreciated, since we don't have any usable perl ATM...
*** Bug 199563 has been marked as a duplicate of this bug. ***
Thanks!
I suppose we'll unfortunaly need a revbump for Bug 198196 and to force
consistency as well, messing with things w/o revbump sucks :(
Mike D,
How did this patch break on amd64?
> (In reply to comment #6)
> b0rkage w/ libbits patch confirmed on ppc and x86 - can we please get rid of
> that patch soonish for now and test a fixed patch in a -r4 testing version? :)
How did this break on x86? "" defaults to "lib"
(In reply to comment #3)
> Created an attachment (id=136290) [edit] [details]
> fix install path on amd64
>
> The patch perl-5.8.8-libbits.patch is broken. It relocates perl to
> "/usr/lib64/5.8.8" on amd64.
All I see. Thanks for the patch. I'll merge this one next..
diff -u Configure Configure
--- Configure 2006-02-03 16:25:04.000000000 -0500
+++ Configure 2006-02-03 16:25:04.000000000 -0500
@@ -5958,8 +5958,8 @@
: Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7.
case "$installstyle" in
'') case "$prefix" in
- *perl*) dflt='lib32';;
- *) dflt='lib32/perl5' ;;
+ *perl*) dflt="$lib";;
+ *) dflt="$lib/perl5" ;;
esac
;;
*) dflt="$installstyle" ;;
*** Bug 199588 has been marked as a duplicate of this bug. ***
(In reply to comment #13)
> All I see. Thanks for the patch. I'll merge this one next..
I'd strongly suggest that you check w/ perl people before *ever* touching this
ebuild again.
perl team is dead. releng and amd64 leads both approved and requested I merge
this
to perl. ppc64 confirmed it did not break before anything was merged.
It is unfortunate that non multilib users ran into problems. I hope all can
recover without much effort.
*** Bug 199603 has been marked as a duplicate of this bug. ***
(In reply to comment #16)
> perl team is dead. releng and amd64 leads both approved and requested I merge
> this
> to perl. ppc64 confirmed it did not break before anything was merged.
> It is unfortunate that non multilib users ran into problems. I hope all can
> recover without much effort.
This has nothing to do w/ non-multilib, as said on this bug, you killed perl
for every single arch out there.
Plus, perl team is not dead, as proved on this bug, a dead team hardly would
react faster than someone who's responsible for a completely broken patch.
Jakub, Please take the argumentative attitude and rude comments elsewhere.
argumentative == screw-up confirmed by everyone out there?
rude comments == asking you to follow the policies and stop touching stable
ebuilds (which broke everyone out there, and interfered with release as well)?
*If* anyone tested this, they would have discovered that this totally kills
perl. This is an apparent breach of QA and ebuild policies, not to mention
common sense. What was the reason to mess w/ dev-lang/perl--5.8.8-r2 as well?
Not really what more to say here, I'd expect that you'd apologize to perl folks
at minimum, but that apparently isn't the case. :/
*** Bug 199635 has been marked as a duplicate of this bug. ***
Could this please get a revbump perl to ensure anybody who merged the broken r3
gets a fixed version?
Modules installed after dev-lang/perl-5.8.8-r3 are borked. For example after
upgrading to dev-lang/perl-5.8.8-r4 amavisd-new was still complaining about
missing modules for example.
Here's my quick and dirty solution that could help others get their perl back
on its feet again:
1/ a one liner based on eix, which is fortunately a quick install if you miss
it and don't want to hack around emerge --search (ignore carriage-returns if
any):
eix -IAnc* perl |awk '{print $2}'|egrep -v
'virtual|dev-lang|libperl|perl-cleaner'
| for i in `cat -`; do echo -n "$i "; done
to get the list of perl modules in a copy-paste ready list
2/ emerge -1av <pasted_list>
Now amavisd-new works again.
Wow, major borkage, too bad I had a list of perl modules waiting for upgrade
when r3 was commited...
If you have lots of modules and can hack a script quickly, parsing
/var/log/emerge.log for modules emerged after r3 should do it.