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.
Created attachment 385540 [details] perl-5.20.0-r1-build.log
Created attachment 385544 [details] perl-5.18.2-r1-build.log
Created attachment 385546 [details] emerge --info
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...
Created attachment 385550 [details] perl -V
(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
(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?
(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 #
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.
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
(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.