Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 72977 - perl ebuilds don't include old vendor_perl arch dirs with USE=ithreads
Summary: perl ebuilds don't include old vendor_perl arch dirs with USE=ithreads
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-30 16:11 UTC by Jason Rhinelander
Modified: 2005-02-11 04:35 UTC (History)
2 users (show)

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


Attachments
Patch to include /usr/lib/perl5/vendor_perl/5.8.0 perl modules for perl 5.8.5-r2 (perl-5.8.2-r2.ebuild.diff,801 bytes, patch)
2005-01-26 23:01 UTC, James M Leddy
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Rhinelander 2004-11-30 16:11:21 UTC
Emerging perl with USE=ithreads causes the resulting binary to *not* include the arch-specific old vendor_perl directories.  I ended up with:

  @INC:
    /etc/perl
    /usr/lib/perl5/site_perl/5.8.6/i686-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.6
    /usr/lib/perl5/site_perl/5.8.5
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.6/i686-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.6
    /usr/lib/perl5/vendor_perl/5.8.2
    /usr/lib/perl5/vendor_perl/5.8.5
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/5.8.6/i686-linux-thread-multi
    /usr/lib/perl5/5.8.6
    /usr/local/lib/site_perl
    /usr/lib/perl5/site_perl/5.8.5
    .


Notably, vendor_perl/5.8.2/i686-linux-thread-multi and vendor_perl/5.8.5/i686-linux-thread-multi are missing, which of course causes various portage dependency problems.

The fix is simply a matter of changing this line in src_configure:

    local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch "; done)

It needs the "$v $v/$myarch " part to be changed to "$v $v/$myarch$mythreading " to correctly pick up the threaded perl arch-specific directories.
Comment 1 Sergiy Borodych 2004-12-01 14:44:43 UTC
its problem appearance for me :(
Comment 2 James M Leddy 2005-01-26 23:01:58 UTC
Created attachment 49634 [details, diff]
Patch to include /usr/lib/perl5/vendor_perl/5.8.0 perl modules for perl 5.8.5-r2
Comment 3 James M Leddy 2005-01-26 23:04:48 UTC
Comment on attachment 49634 [details, diff]
Patch to include /usr/lib/perl5/vendor_perl/5.8.0 perl modules for perl 5.8.5-r2

I have the same problem for version 5.8.2-r2.  

james $ qpkg -l mp3-info/usr/lib/perl5/vendor_perl/5.8.0/MPEG
/usr/lib/perl5/vendor_perl/5.8.0/MPEG/MP3Info.pm
/usr/lib/perl5/vendor_perl/5.8.0/MP3
/usr/lib/perl5/vendor_perl/5.8.0/MP3/Info.pm

james $ gnupod_addsong.pl 
Can't locate MP3/Info.pm in @INC (@INC contains: /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/5.8.2 /usr/lib/perl5/site_perl/5.8.2/i686-linux
/usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.4/i686-linux
/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/5.8.2
/usr/lib/perl5/vendor_perl/5.8.2/i686-linux /usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.4/i686-linux /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 /usr/local/lib/site_perl
/usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.2/i686-linux
/usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.4/i686-linux .) at
/usr/lib/perl5/site_perl/5.8.4/i686-linux/GNUpod/FileMagic.pm line 26.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.4/i686-linux/GNUpod/FileMagic.pm line 26.
Compilation failed in require at /usr/bin/gnupod_addsong.pl line 28.
BEGIN failed--compilation aborted at /usr/bin/gnupod_addsong.pl line 28.

I made a simple patch for it.  It's probably just as easy/easier to edit by
hand
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2005-02-11 04:35:18 UTC
mods made in all perl ebuilds. enjoy