Subject: | ExtUtils::MakeMaker Requires All Parent Directories to be Readable? |
Why does ExtUtils::MakeMaker need read access to every parent directory?
(I'm on a shared system where /home is executable, but not readable.)
To reproduce:
% pwd
/home/me/tmp/foo/bar/baz/bang/Foo
% chmod a-r `pwd`/../../..
% ls ../../..
ls: ../../..: Permission denied
# okay, a random parent directory is not readable...
% cat Makefile.PL
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'Foo',
VERSION_FROM => 'lib/Foo.pm', # finds $VERSION
);
% perl Makefile.PL
Writing Makefile for Foo
% make
/bin/pwd: cannot open directory `../../..': Permission denied
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create 'blib/lib/auto'
Do not have write permissions on '/'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1
make: *** [pm_to_blib] Error 2
Versions, etc. if helpful:
% perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
Copyright 1987-2006, Larry Wall
Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
% perldoc -m ExtUtils::MakeMaker | grep VERSION | head -1
our $VERSION = '6.44';
% uname -a
Linux ns2.amusive.com 2.6.18-53.el5PAE #1 SMP Mon Nov 12 02:55:09 EST
2007 i686 i686 i386 GNU/Linux
Confused,
-Bill