David E. Wheeler wrote:
On May 2, 2008, at 19:30, David E. Wheeler wrote:

I've just been updating the test suite for MasonX::Interp::WithCallbacks and noticed that, while tests pass perfectly with Apache 1, the server never starts up with Apache 2.

Never mind. I figured it out. I had to change this:

    <Perl>
      use File::Spec::Functions qw(catdir);
      use lib catdir '@ServerRoot@', 'lib';
      use lib catdir '@ServerRoot@', '..', 'blib';
      use lib catdir '@ServerRoot@', '..', 'lib';
    </Perl>

To be surrounded by an IfDefine:

  <IfDefine !MODPERL2>
    <Perl>
      use File::Spec::Functions qw(catdir);
      use lib catdir '@ServerRoot@', 'lib';
      use lib catdir '@ServerRoot@', '..', 'blib';
      use lib catdir '@ServerRoot@', '..', 'lib';
    </Perl>
  </IfDefine>

Not sure why there's a difference here between mod_perl 1 and mod_perl 2, but I'm happy that the solution seems to be simple. Is this something that's documented somewhere?

MODPERL2 is documented here, although it doesn't answer the question of why the server starts with that directive and doesn't start without it:

http://perl.apache.org/docs/2.0/user/porting/porting.html#Making_Code_Conditional_on_Running_mod_perl_Version

Most instances of the server not starting which have not been related to the timeout being too low were missing test skips if a certain module wasn't present (i.e. mod_alias, etc). I know I've fixed a few of those issues, but there may be some remaining. My guess is that your httpd builds may not have the exact same modules compiled in or loaded dynamically.

I don't really understand why you need that perl section at all though, Apache::Test should be picking up those library paths implicitly.

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

Reply via email to