On Mon, Mar 14, 2005 at 10:28:12AM -0800, David Wheeler wrote:
> On Mar 14, 2005, at 10:10 AM, _brian_d_foy wrote:
> 
> >>Can't locate object method "curdir" via package "ExtUtils::MM_Unix" at
> >>/usr/local/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm line 99.
> >
> >I don't think this one is my fault. Any idea what's going on there?

My only thought would be you have some wacko version of File::Spec which
doesn't have curdir, but this...


> % perl -MExtUtils::MM_Unix -le 'print ExtUtils::MM_Unix->curdir'
> .

Disproves that.  Well, maybe not.  Try:

perl -MExtUtils::MakeMaker -le 'print ExtUtils::MM_Unix->curdir'


> Looks like it can find it. Could ExtUtils::MM_Unix not be getting 
> loaded somehow?

Seeing as how the error is coming from inside MM_Unix, no.

It is possible there's some sort of circular load dependency here so that
MM_Unix gets loaded before its parent MM_Any finishes loading.  Try sticking
a BEGIN block around the @ISA lines in both MM_Any and MM_Unix.


PS  brian, your Test::Manifest test_via_harness magic is brittle.
Rather than replacing it you can simply use inheritence.

unless( $@ ) {
        pacakge MY;

        *test_via_harness = sub {
                ...
        };
}

Placing methods into MY is the stamped and approved way of overriding
MakeMaker methods.  This will also allow it to work with older versions of 
Makemaker which predate ExtUtils::MM_Any.

Reply via email to