Nick *** wrote:
>-------- Оригинално писмо --------
>От: Stas Bekman <[EMAIL PROTECTED]>
>Относно: Re: Fix warning and mod_perl.so build on Win32 and MP_STATIC_EXTS=1
>До: Nick *** <[EMAIL PROTECTED]>
>Изпратено на: Петък, 2005, Април 29 16:21:03 EEST
>----------------------------------
>
>Nick *** wrote:
>> Index: lib/Apache2/Build.pm
>> ===================================================================
>> --- lib/Apache2/Build.pm (revision 165278)
>> +++ lib/Apache2/Build.pm (working copy)
>> @@ -785,7 +785,7 @@
>> >> $bpm_mtime = (stat $INC{$bpm})[9] if $INC{$bpm};
>> >> - if (-e "lib/$bpm" and (stat _)[9] > $bpm_mtime) {
>> + if (-e "lib/$bpm" and $bpm_mtime and (stat _)[9] > $bpm_mtime) {
>> #reload if Makefile.PL has regenerated
>> unshift @INC, 'lib';
>> delete $INC{$bpm};
>
>> Please take a look at the "warning fix".
>> I'm not sure whether it's right, because $INC{$bpm} is set, but the value points to a wrong file path.
>> That's why $bpm_mtime's value becomes undefined and we get a warning. Maybe we should reload $bpm at this moment?
>
>Never saw a warning for this case.
run perl Makefile.PL MP_STATIC_EXTS=1
when makefile says it's going to create mod_perl.so there is a warning for: undefined value used in numeric gt


>What do you mean a wrong path? You mean >$INC{$bpm} contains a non-existing path? In which case it probably should >be coded as:
>
> $bpm_mtime = (stat _)[9] if $INC{$bpm} && -e $INC{$bpm};
Yes. But is it the right solution? I mean it's strange that $INC{$bpm} exists, but the path is wrong (or the file is missing).

It is. I've added a warning printing $INC{$bpm}, so at some point it gives: ../lib/Apache2/BuildConfig.pm, which it can't find, since chdir's to the base dir. So the above patch deals with that.


 >And the following part of the patch, what is it supposed to fix?
 >
 > > @@ -1505,7 +1505,7 @@
 > >      return $self->dynamic_link_header_default .
 > >          "\t$defs" .
 > >          ($symbols ? ' \\' . "\n\t-pdb:$symbols" : '') .
 > > -        ' -out:$@';
 > > +        ' -out:$@' . " \n\n";
 > >  }
 >
When you run perl Makefile.PL MP_STATIC_EXTS=1 on win32 the command
that should create mod_perl.so currently looks like
[...]-out:mod_perl.soApache_Util_Util[...] The process exist with
error. The new lines fix that.

Cool, but why do you need a leading space? won't "\n\n" do?

--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to