Bug in mod_perl makefile?

2000-02-03 Thread Martin A. Langhoff

Hi,

I've just got my apache/modperl setup to work. This little nastie
took me 2 days to find.

In my /usr/src directory, I had:
- apache_1.3.3 [dir]
- apache_1.3.9 [dir]
- mod_perl-1.21 [dir]

and was compiling modperl/perl with:
#perl Makefile.PL APACHE_SRC=/usr/src/apache_1.3.9 DO_HTTPD=1
USE_APACI=1 EVERYTHING=1 PERL_MARK_WHERE=1
APACI_ARGS=--enable-module=all
#make  make test  make install

and then a make install from apache_1.3.9

This setup was consistently failing, or rather ...
- if I added --enable-shared=max apache compiled and started
unless a call to mod_perl was made. If I tryed to load Embperl in
httpd.conf, httpd would not start, claiming that Apache::Constants was
not installed/found/whatever.
- I upgraded perl, recompiled perl + all the perl modules I had
+ mod-perl + apache again. Several recompiles and shrieks.

Now, today, with a fresh head, I noticed a little message when
making mod_perl, which said it was 'getting into ../apache_1.3.3'. So I
renamed the directory to be called old.apache_1.3.3 and recompiled.

Voilá!

So either my APACHE_SRC argument was wrong (I swear I read it in
Stas' Guide) or the Makefile was ignoring it...

Sadly, I'm going holidays tonight, so I can't [and won't] stay here
to dissect Makefile.PL, but I thought it was nice to tell the list.


Now if you find it was my mistake, one way or another, then please
forgive me for saying the bug was yours [whoever wrote the makefile]
when it was mine.

ml
-- --
To understand recursion, one must first understand recursion.
-- --
- Martin Langhoff @ S C I M  Multimedia Technology -
  - http://www.scim.net  | God is real until  -
  - mailto:[EMAIL PROTECTED]  | declared integer   -




Re: Bug in mod_perl makefile?

2000-02-03 Thread Stas Bekman

On Thu, 3 Feb 2000, Martin A. Langhoff wrote:

 Hi,
 
 I've just got my apache/modperl setup to work. This little nastie
 took me 2 days to find.
 
 In my /usr/src directory, I had:
 - apache_1.3.3 [dir]
 - apache_1.3.9 [dir]
 - mod_perl-1.21 [dir]
 
 and was compiling modperl/perl with:
 #perl Makefile.PL APACHE_SRC=/usr/src/apache_1.3.9 DO_HTTPD=1
 USE_APACI=1 EVERYTHING=1 PERL_MARK_WHERE=1
 APACI_ARGS=--enable-module=all
 #make  make test  make install
 
 and then a make install from apache_1.3.9
 
 This setup was consistently failing, or rather ...
 - if I added --enable-shared=max apache compiled and started
 unless a call to mod_perl was made. If I tryed to load Embperl in
 httpd.conf, httpd would not start, claiming that Apache::Constants was
 not installed/found/whatever.
 - I upgraded perl, recompiled perl + all the perl modules I had
 + mod-perl + apache again. Several recompiles and shrieks.
 
 Now, today, with a fresh head, I noticed a little message when
 making mod_perl, which said it was 'getting into ../apache_1.3.3'. So I
 renamed the directory to be called old.apache_1.3.3 and recompiled.
 
 Voilá!
 
 So either my APACHE_SRC argument was wrong (I swear I read it in
 Stas' Guide) or the Makefile was ignoring it...

Seems to me like you forgot to make clean before rebuilding stuff. A few
folks reported in the past that starting from clean tar solved their
problems. 

As for the APACHE_SRC, the scenario you have described can only happen if
you provided invalid APACHE_SRC paramter. Here is the relevant snippet
from Makefile.PL: 

for $src_dir ($APACHE_SRC, ../apache*/src,
../stronghold*/src, /usr/local/stronghold*/src,
"../src", "./src")
{
next unless -d $src_dir;
next if $seen{$src_dir}++;
next unless $vers = httpd_version($src_dir);
unless(exists $vers_map{$vers}) {
print STDERR "Apache version '$vers' unsupported\n";
next;
}
$mft_map{$src_dir} = $vers_map{$vers};
#print STDERR "$src_dir - $vers_map{$vers}\n";
push @adirs, $src_dir;
$modified{$src_dir} = (stat($src_dir))[9];
last if $DO_HTTPD;
}

If $APACHE_SRC is defined correctly relative to mod_perl src tree, the
'for' loop goes thru only once. 

 Now if you find it was my mistake, one way or another, then please
 forgive me for saying the bug was yours [whoever wrote the makefile]
 when it was mine.

The bad thing is that you report about a potential problem, but don't stay
with us to follow up. So I thought twice before replying to your email,
since I feel that I talk to the wall until before you come back from your
vacation...

Enjoy the vacation :)

___
Stas Bekmanmailto:[EMAIL PROTECTED]  http://www.stason.org/stas
Perl,CGI,Apache,Linux,Web,Java,PC http://www.stason.org/stas/TULARC
perl.apache.orgmodperl.sourcegarden.org   perlmonth.comperl.org
single o- + single o-+ = singlesheavenhttp://www.singlesheaven.com