develooper Front page | perl.perl5.porters | Postings from July 2003

Re: [perl #23011] Cwd::cwd() fails during perl-5.8.0 compilation

Thread Previous | Thread Next
July 21, 2003 05:32
Re: [perl #23011] Cwd::cwd() fails during perl-5.8.0 compilation
Message ID:
"Vrihad Shoonya" <> wrote:
> Hi!
> >> I am compiling perl-5.8.0 in chrooted environment
> >> where many system tools are not in its proper places.
> >> --snip--
> > should check $ENV{PATH} for an executable pwd,
> > hence you should set your PATH variable appropriately.
> I think it is not happening with available in
> lib/ in perl source tree. I checked the file and
> though I am not a perl expert, the path for /usr/bin/pwd
> and /bin/pwd is checked explicitly here. And my PATH
> variable contains /usr/local/bin.

This is the code (beginning at line 211):

unless(defined &cwd) {
    # The pwd command is not available in some chroot(2)'ed environments
    if( $^O eq 'MacOS' || (defined $ENV{PATH} && 
                           grep { -x "$_/pwd" } split(':', $ENV{PATH})) ) 
        *cwd = \&_backtick_pwd;

> > As an alternative, you can use fastcwd() instead,
> > which on many systems use an cwd implementation
> > which does not need external tools.
> I don't know how to use it. I am talking about the
> perl configuration script which uses Cwd::cwd() and it
> was failing in my case. Anyway the problem is solved by
> providing a symlink of /usr/local/bin/pwd to /usr/bin/pwd.

   perl -MCwd=fastcwd -e 'warn fastcwd'

or to still retain calling cwd(), but using fastcwd() under the hood:

   perl -MCwd= -e '*cwd=\&Cwd::fastcwd; warn cwd'


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About