On Fri, Sep 11, 2009 at 01:01:00AM -0400, George Greer wrote:

> blead-2228-gc6c613e  Configuration (common) none
> ----------- ---------------------------------------------------------
> F F         
> F F         -Duselargefiles
> F F         -Duseithreads
> F F         -Duseithreads -Duselargefiles
> | +--------- -DDEBUGGING
> +----------- no debugging
> 
> 
> Locally applied patches:
>     SMOKEc6c613ed7cf301ecf7d4b5dcbf9642fa0fb63333
> 
> Failures: (common-args) none
> [default] 
> [default] -DDEBUGGING
> [default] -Duselargefiles
> [default] -DDEBUGGING -Duselargefiles
> [default] -Duseithreads
> [default] -DDEBUGGING -Duseithreads
> [default] -Duseithreads -Duselargefiles
> [default] -DDEBUGGING -Duseithreads -Duselargefiles
> ../ext/ExtUtils-MakeMaker/t/miniperl.t......................FAILED

I can't work out how to solve this one.

>From the log, I see

../ext/ExtUtils-MakeMaker/t/min_perl_version.t ................... ok
Attempt to reload Win32.pm aborted.
Compilation failed in require at ../../lib/Cwd.pm line 751.
BEGIN failed--compilation aborted.
END failed--call queue aborted.
# Looks like your test exited with 255 just after 6.
../ext/ExtUtils-MakeMaker/t/miniperl.t ........................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 6 subtests passed 

That test has

# Disable all XS from here on
use MakeMaker::Test::NoXS;


which does this:

package MakeMaker::Test::NoXS;

# Disable all XS loading.

use Carp;

require DynaLoader;
require XSLoader;

# Things like Cwd key on this to decide if they're running miniperl
delete $DynaLoader::{boot_DynaLoader};

# This isn't 100%.  Things like Win32.pm will crap out rather than
# just not load.  See ExtUtils::MM->_is_win95 for an example
no warnings 'redefine';
*DynaLoader::bootstrap = sub { confess "Tried to load XS for @_"; };
*XSLoader::load        = sub { confess "Tried to load XS for @_"; };

1;


and line 751 of Cwd.pm is the if() in

sub _win32_cwd {
    if (defined &DynaLoader::boot_DynaLoader) {
        $ENV{'PWD'} = Win32::GetCwd();
    }
    else { # miniperl
        chomp($ENV{'PWD'} = `cd`);
    }
    $ENV{'PWD'} =~ s:\\:/:g ;
    return $ENV{'PWD'};
}



So I don't really have a good idea why it's failing. The only clue might be
that the error is for ../../lib/Cwd.pm, rather than an absolute path. So I've
no idea when, during the execution of the various steps of loading modules,
this error is reported.

Nicholas Clark

Reply via email to