Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 288972 - Can't find unistd_64.ph in @INC
Summary: Can't find unistd_64.ph in @INC
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-13 23:42 UTC by Gordon Pettey
Modified: 2010-02-22 02:07 UTC (History)
0 users

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


Attachments
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph (unistd.ph.diff,144 bytes, text/plain)
2009-10-13 23:43 UTC, Gordon Pettey
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gordon Pettey 2009-10-13 23:42:16 UTC
A perl script (FCGI handler) fails to run with an error message about not finding unistd_64.ph in @INC (and goes on to list all the standard dirs that are in @INC). The file /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph checks arch, and then includes unistd_32.ph or unistd_64.ph. It seems that unistd.ph is running a directory above its location, so it fails to find unistd_ARCH.ph. Prepending the filenames with asm/ fixes the problem.

Reproducible: Always

Steps to Reproduce:
1. Run a Perl script that needs unistd.ph.
2. Get a "failed compilation" error.

Actual Results:  
failed compilation

Expected Results:  
running script
Comment 1 Gordon Pettey 2009-10-13 23:43:55 UTC
Created attachment 207028 [details]
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph

Diff of broken and working /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph
Comment 2 Torsten Veller (RETIRED) gentoo-dev 2009-10-19 08:01:25 UTC
This was fixed in perl-5.8.8-r6 on 08 May 2009.
Comment 3 Torsten Veller (RETIRED) gentoo-dev 2009-10-19 08:02:37 UTC
If it is still a problem, you should at least mention which perl version (revision) you are using.
Comment 4 Gordon Pettey 2009-10-19 13:12:44 UTC
Using r5. Perhaps ~ARCH should be removed from r6?
Comment 5 Gordon Pettey 2009-10-20 03:25:46 UTC
Fresh install of perl-5.8.8-r6 after rm -rf /usr/lib64/perl5 results in the same error.
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2009-10-20 07:11:41 UTC
Works fine here. Please run $(perl-cleaner phall) again and paste
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph
Comment 7 Gordon Pettey 2009-10-20 15:41:38 UTC
host01 ~ # eix -c --nocolor dev-lang/perl
[I] dev-lang/perl (5.8.8-r6@10/19/09): Larry Wall's Practical Extraction and Report Language
host01 ~ # perl-cleaner phall &> /dev/null
host01 ~ # cat /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/asm/unistd.ph
require '_h2ph_pre.ph';

no warnings 'redefine';

if(defined(&__i386__)) {
    require 'unistd_32.ph';
} else {
    require 'unistd_64.ph';
}
1;
host01 ~ #
Comment 8 Torsten Veller (RETIRED) gentoo-dev 2009-10-22 07:01:51 UTC
Hm, it works as expected here:
fails with -r5 (same .ph as in #7) and 
works with -r6 (prepends asm/ in require)

I don't know how I can help you. You don't have a broken h2ph somewhere in your PATH?
Comment 9 David Abbott (RETIRED) gentoo-dev 2010-02-22 02:07:21 UTC
Please try current stable dev-lang/perl-5.8.8-r8