Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 199518
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: solar <solar@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Vsevolod Kozlov <sevakda@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
perl-5.8.8-libbits.patch fix install path on amd64 text/plain Steven Paine 2007-11-18 13:17 0000 3.33 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 199518 depends on: Show dependency tree
Bug 199518 blocks: 198196
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   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

------- Comment #1 From Jakub Moc (RETIRED) 2007-11-18 12:52:39 0000 -------
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 

------- Comment #2 From Vsevolod Kozlov 2007-11-18 12:57:15 0000 -------
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.

------- Comment #3 From Steven Paine 2007-11-18 13:17:59 0000 -------
Created an attachment (id=136290) [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.

------- Comment #4 From Jakub Moc (RETIRED) 2007-11-18 13:42:11 0000 -------
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.

------- Comment #5 From Jakub Moc (RETIRED) 2007-11-18 14:29:45 0000 -------
*** Bug 199525 has been marked as a duplicate of this bug. ***

------- Comment #6 From Tobias Scherbaum 2007-11-18 17:15:01 0000 -------
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? :)

------- Comment #7 From Jakub Moc (RETIRED) 2007-11-18 17:21:10 0000 -------
qa (or pretty much anyone) - reverting this patch swiftly would be mostly
appreciated, since we don't have any usable perl ATM...

------- Comment #8 From Christian Hartmann 2007-11-18 17:32:21 0000 -------
Hang on a sec.

------- Comment #9 From Jakub Moc (RETIRED) 2007-11-18 17:37:26 0000 -------
*** Bug 199563 has been marked as a duplicate of this bug. ***

------- Comment #10 From Christian Hartmann 2007-11-18 17:42:47 0000 -------
Reverted.

------- Comment #11 From Jakub Moc (RETIRED) 2007-11-18 17:46:15 0000 -------
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 :(

------- Comment #12 From solar 2007-11-18 19:45:20 0000 -------
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"

------- Comment #13 From solar 2007-11-18 19:49:03 0000 -------
(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" ;;

------- Comment #14 From Jakub Moc (RETIRED) 2007-11-18 22:04:22 0000 -------
*** Bug 199588 has been marked as a duplicate of this bug. ***

------- Comment #15 From Jakub Moc (RETIRED) 2007-11-18 22:20:22 0000 -------
(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.

------- Comment #16 From solar 2007-11-18 22:57:06 0000 -------
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.

------- Comment #17 From Jakub Moc (RETIRED) 2007-11-18 22:59:46 0000 -------
*** Bug 199603 has been marked as a duplicate of this bug. ***

------- Comment #18 From Jakub Moc (RETIRED) 2007-11-18 23:01:59 0000 -------
(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.

------- Comment #19 From solar 2007-11-18 23:11:46 0000 -------
Jakub, Please take the argumentative attitude and rude comments elsewhere.

------- Comment #20 From Jakub Moc (RETIRED) 2007-11-18 23:22:44 0000 -------
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. :/

------- Comment #21 From Robin Johnson 2007-11-19 07:23:49 0000 -------
*** Bug 199635 has been marked as a duplicate of this bug. ***

------- Comment #22 From Robin Johnson 2007-11-19 07:34:01 0000 -------
Could this please get a revbump perl to ensure anybody who merged the broken r3
gets a fixed version?

------- Comment #23 From Christian Hartmann 2007-11-19 09:57:49 0000 -------
Revbumped.

------- Comment #24 From Lionel Bouton 2007-11-19 11:57:42 0000 -------
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.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug