Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 523816 - dev-lang/perl - Can't locate Porting/pod_lib.pl: Permission denied at pod/buildtoc line 17.
Summary: dev-lang/perl - Can't locate Porting/pod_lib.pl: Permission denied at pod/b...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-26 15:27 UTC by Albert Gall
Modified: 2014-09-27 19:04 UTC (History)
0 users

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


Attachments
perl-5.20.1-build.log (perl-5.20.1-build.log,266.20 KB, text/plain)
2014-09-26 15:27 UTC, Albert Gall
Details
perl-5.20.0-r1-build.log (perl-5.20.0-r1-build.log,268.01 KB, text/plain)
2014-09-26 15:29 UTC, Albert Gall
Details
perl-5.18.2-r1-build.log (perl-5.18.2-r1-build.log,459.71 KB, text/plain)
2014-09-26 15:29 UTC, Albert Gall
Details
emerge --info (emerge-info.txt,15.65 KB, text/plain)
2014-09-26 15:31 UTC, Albert Gall
Details
perl -V (perl-V.txt,5.26 KB, text/plain)
2014-09-26 17:07 UTC, Albert Gall
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Gall 2014-09-26 15:27:51 UTC
Created attachment 385538 [details]
perl-5.20.1-build.log

dev-lang/perl-5.20.1 Failed to build. Can't locate Porting/pod_lib.pl:   Permission denied at pod/buildtoc line 17.

All perl version since perl-5.18.2-r1 failed with same iuse.
Comment 1 Albert Gall 2014-09-26 15:29:10 UTC
Created attachment 385540 [details]
perl-5.20.0-r1-build.log
Comment 2 Albert Gall 2014-09-26 15:29:48 UTC
Created attachment 385544 [details]
perl-5.18.2-r1-build.log
Comment 3 Albert Gall 2014-09-26 15:31:42 UTC
Created attachment 385546 [details]
emerge --info
Comment 4 Andreas K. Hüttel archtester gentoo-dev 2014-09-26 16:58:13 UTC
please run "perl -V" with your current perl and check that there are no unreadable paths (i.e. check permissions) in @INC.

Unfortunately upstream considers this a feature...
Comment 5 Albert Gall 2014-09-26 17:07:39 UTC
Created attachment 385550 [details]
perl -V
Comment 6 Albert Gall 2014-09-26 17:25:54 UTC
(In reply to Andreas K. Hüttel from comment #4)
> please run "perl -V" with your current perl and check that there are no
> unreadable paths (i.e. check permissions) in @INC.
> 
> Unfortunately upstream considers this a feature...

Some of the directories that perl -V shows do not exist on my system such as

/etc/perl
/usr/local/lib64/perl5/5.16.3/x86_64-linux
/usr/local/lib64/perl5/5.16.3
/usr/local/lib64/perl5
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2014-09-26 17:34:11 UTC
(In reply to Albert Gall from comment #6)
> (In reply to Andreas K. Hüttel from comment #4)
> > please run "perl -V" with your current perl and check that there are no
> > unreadable paths (i.e. check permissions) in @INC.
> > 
> > Unfortunately upstream considers this a feature...
> 
> Some of the directories that perl -V shows do not exist on my system such as
> 
> /etc/perl
> /usr/local/lib64/perl5/5.16.3/x86_64-linux
> /usr/local/lib64/perl5/5.16.3
> /usr/local/lib64/perl5

I don't think "does not exist" is a problem. 
Only "It exists but portage cannot read it."

Do you have anything special in /usr/local?
Comment 8 Albert Gall 2014-09-26 17:48:53 UTC
(In reply to Andreas K. Hüttel from comment #7)
> (In reply to Albert Gall from comment #6)
> > (In reply to Andreas K. Hüttel from comment #4)
> > > please run "perl -V" with your current perl and check that there are no
> > > unreadable paths (i.e. check permissions) in @INC.
> > > 
> > > Unfortunately upstream considers this a feature...
> > 
> > Some of the directories that perl -V shows do not exist on my system such as
> > 
> > /etc/perl
> > /usr/local/lib64/perl5/5.16.3/x86_64-linux
> > /usr/local/lib64/perl5/5.16.3
> > /usr/local/lib64/perl5
> 
> I don't think "does not exist" is a problem. 
> Only "It exists but portage cannot read it."
> 
> Do you have anything special in /usr/local?

I think that anything important that may help in this case

# ls -l /usr/local/
total 12
lrwxrwxrwx  1 root    root       5 may 17  2012 lib -> lib64
drwx------  3 root    root    4096 dic 26  2013 lib64
drwxr-xr-x 14 portage portage 4096 sep 10  2013 portage
drwx------  4 root    root    4096 nov  8  2012 src
#
------
# ls -l /usr/local/lib64 
total 4
drwx------ 3 root root 4096 dic 26  2013 ruby
#
-------
# ls -l /usr/local/portage 
total 44
drwxr-xr-x 3 portage portage 4096 may  9  2012 app-crypt
drwxr-xr-x 3 portage portage 4096 oct 16  2012 app-mobilephone
drwxr-xr-x 3 portage portage 4096 abr 30  2011 dev-python
drwxr-xr-x 2 portage portage 4096 dic 29  2010 layman
drwxr-xr-x 3 portage portage 4096 feb  9  2010 media-plugins
drwxr-xr-x 2 portage portage 4096 may 10  2012 media-video
drwx------ 2 root    root    4096 sep 26 18:41 metadata
drwxr-xr-x 3 portage portage 4096 dic 29  2010 net-irc
drwxr-xr-x 3 portage portage 4096 nov 27  2009 net-wireless
drwxr-xr-x 2 portage portage 4096 sep 23  2009 profiles
drwxr-xr-x 2 portage portage 4096 may  8  2012 www-client
#
-------
# ls -l /usr/local/src 
total 8
drwxr-xr-x 13 fetchmail nogroup 4096 mar 29  2013 msf3
drwx------  8 root      root    4096 ene  9  2013 set
#
Comment 9 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2014-09-26 18:00:07 UTC
drwx------  3 root    root    4096 dic 26  2013 lib64

^ Right there is what's going wrong.

Upstream have decided that if there's a path in @INC, and the path can't be resolved ( that is, gets EACCESS instead of ENOFILE ), then it treats that as fatal and stops looking.

There's a reasonably heated debate you probably don't want to read about it too.

Basically, If any *ancestor* of a path in @INC is not readable, perl will stop on that @INC node.

So you basically have to chmod a+rx /usr/local/lib64/ and hope that's enough.
Comment 10 Albert Gall 2014-09-26 18:09:12 UTC
After temporarily moving /usr/local/ to another directory everything works fine and '=perl-5.20.1' is build again without problems.

Thank you very much for your help Mr. Andreas K. Hüttel
Comment 11 Albert Gall 2014-09-26 18:29:51 UTC
(In reply to Kent Fredric from comment #9)
> drwx------  3 root    root    4096 dic 26  2013 lib64
> 
> ^ Right there is what's going wrong.
> 
> Upstream have decided that if there's a path in @INC, and the path can't be
> resolved ( that is, gets EACCESS instead of ENOFILE ), then it treats that
> as fatal and stops looking.
> 
> There's a reasonably heated debate you probably don't want to read about it
> too.
> 
> Basically, If any *ancestor* of a path in @INC is not readable, perl will
> stop on that @INC node.
> 
> So you basically have to chmod a+rx /usr/local/lib64/ and hope that's enough.

Your solution also fixes the problem many thanks mister Kent Fredric.