Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 1884
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: apang [...] mdsi.ca
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 6.06_01
Fixed in: (no value)



Subject: Prerequisite modules which exist are reported as not found
ExtUtils-MakeMaker-6.06_01 Linux olympus 2.4.18-19.8.0 #1 Thu Dec 12 04:37:40 EST 2002 i686 athlon i386 GNU/Linux This is perl, v5.8.0 built for i386-linux-thread-multi I get warnings such as this even though the prerequisite module exists (i.e., I don't get an error when I use: perl -mPod::Man -e 1). Warning: prerequisite Pod::Man 0 not found. Looking at MakeMaker.pm: 360 foreach my $prereq (sort keys %{$self->{PREREQ_PM}}) { 361 eval "require $prereq"; 362 363 my $pr_version = $prereq->VERSION || 0; 364 365 if ($@) { 366 warn sprintf "Warning: prerequisite %s %s not found.\n", It appears at line 365, $@ is evaluated as non-null, contrary to expectations. I thought these were equivalent in perl4, but in perl5, there appears to be a difference between: eval "require $prereq"; and require $prereq;
[guest - Sat Dec 21 23:27:30 2002]: Show quoted text
> It appears at line 365, $@ is evaluated as non-null, contrary to > expectations. I thought these were equivalent in perl4, but in perl5, > there appears to be a difference between: > > eval "require $prereq"; > and > require $prereq;
Some odd is going on. Could you find out the value of $@ either by calling Makefile.PL in the debugger or just sticking a print in there?
From: apang [...] mdsi.ca
Thanks. That was educational. The problem is my version of Pod/Man.pm (1.34) doesn't return a value, e.g., 1; __END__ Hmm...I wonder if it has to be integral. Anyway, the debugger shows MakeMaker processing DirHandle, File::Basename, and File::Spec before it complains about Pod::Man. Here's the snippet showing the error: DB<14> s ExtUtils::MakeMaker::new(lib/ExtUtils/MakeMaker.pm:361): 361: eval "require $prereq"; DB<14> p $prereq Pod::Man DB<15> s ExtUtils::MakeMaker::new((eval 18)[lib/ExtUtils/MakeMaker.pm:361]:3): . . . DB<16> s ExtUtils::MakeMaker::new(/usr/lib/perl5/5.8.0/Pod/Man.pm:186): 186: %ESCAPES = ( 187: 'amp' => '&', # ampersand 188: 'apos' => "'", # apostrophe 189: 'lt' => '<', # left chevron, less-than 190: 'gt' => '>', # right chevron, greater-than 191: 'quot' => '"', # double quote 192: 'sol' => '/', # solidus (forward slash) 193: 'verbar' => '|', # vertical bar DB<16> p $@ DB<17> s ExtUtils::MakeMaker::new(lib/ExtUtils/MakeMaker.pm:363): 363: my $pr_version = $prereq->VERSION || 0; DB<17> p $@ Pod/Man.pm did not return a true value at (eval 18)[lib/ExtUtils/MakeMaker.pm:361] line 3.
It looks like this bug should have been reported against the podlators package.