Building mod_perl for authentication

Building mod_perl for authentication

am 08.10.2011 15:50:13 von Dan Axtell

I've now tried various version of Perl (5.10.1, 5.12.4, 5.14.1), and various
version of Apache, but I'm unable to get Apache to run when mod_perl is
installed.

The error logs show
symbol lookup error: /usr/local/lib/perl5/site_perl/5.14.1/x86_64-
linux/auto/ModPerl/Util/Util.so: undefined symbol:
Perl_xs_apiversion_bootcheck

This is from an earlier attempt to test more recent versions of Perl, which
seemed to do everything I need OK. That led me to remove ./site_perl/5.14.1
altogether, so at least I'm able to run Apache version 2.2.21 with Perl 5.12.4
and mod_perl 2.0.5.

However authentication still doesn't work. When I call $r->user in my
authenticaion script for a URL that uses basic authentication, I don't get the
login pop-up at all, and $r->user returns a value of ' (single quote)

when I run make test in mod_perl, the logs show:

*** The following error entry is expected and harmless ***
[Sat Oct 08 08:27:58 2011] [error] [client 127.0.0.1] custom die hook:
Undefined subroutine &TestError::runtime::no_such_func called at
/home/daxtell/src/mod_perl-2.0.5/t/response/TestError/runtim e.pm line 150.\n
[Sat Oct 08 08:28:03 2011] [error] [client 127.0.0.1] user stas:
authentication failure for "/": Password Mismatch

*** The following error entry is expected and harmless ***
[Sat Oct 08 08:28:08 2011] [error] [client 127.0.0.1] need AuthName:
/TestModperl__setauth
[Sat Oct 08 08:28:15 2011] [error] [client 127.0.0.1] Undefined subroutine
&TestHooks::error::bomb called at
/home/daxtell/src/mod_perl-2.0.5/t/hooks/TestHooks/error.pm line 21.\n
[Sat Oct 08 08:28:15 2011] [error] [client 127.0.0.1] Undefined subroutine
&TestHooks::error::bomb called at
/home/daxtell/src/mod_perl-2.0.5/t/hooks/TestHooks/error.pm line 21.\n


Any thoughts on why this would suddenly stop working? Also, is there any
reason not to try and use Perl 5.14.2 with mod_perl?

Thanks,
Dan

Re: Building mod_perl for authentication

am 12.10.2011 05:06:34 von Fred Moyer

You should be able to run 5.14.1 with 2.06-dev available on
http://perl.apache.org.

If that doesn't work, I'd suggest posting your handlers to this list.

Looking at that symbol error though, it suggests that you may have
built mod_perl with a different binary build than it is being run
with. Undefined symbols are generally an indication of incompatible
Perl internal apis.

On Sat, Oct 8, 2011 at 6:50 AM, Dan Axtell wrote:
> I've now tried various version of Perl (5.10.1, 5.12.4, 5.14.1), and vari=
ous
> version of Apache, but I'm unable to get Apache to run when mod_perl is
> installed.
>
> The error logs show
> =A0symbol lookup error: /usr/local/lib/perl5/site_perl/5.14.1/x86_64-
> linux/auto/ModPerl/Util/Util.so: undefined symbol:
> Perl_xs_apiversion_bootcheck
>
> This is from an earlier attempt to test more recent versions of Perl, whi=
ch
> seemed to do everything I need OK. =A0That led me to remove ./site_perl/5=
..14.1
> altogether, so at least I'm able to run Apache version 2.2.21 with Perl 5=
..12.4
> and mod_perl 2.0.5.
>
> However authentication still doesn't work. =A0When I call $r->user in my
> authenticaion script for a URL that uses basic authentication, I don't ge=
t the
> login pop-up at all, and $r->user returns a value of =A0' (single quote)
>
> when I run make test in mod_perl, the logs show:
>
> *** The following error entry is expected and harmless ***
> [Sat Oct 08 08:27:58 2011] [error] [client 127.0.0.1] custom die hook:
> Undefined subroutine &TestError::runtime::no_such_func called at
> /home/daxtell/src/mod_perl-2.0.5/t/response/TestError/runtim e.pm line 150=
..\n
> [Sat Oct 08 08:28:03 2011] [error] [client 127.0.0.1] user stas:
> authentication failure for "/": Password Mismatch
>
> *** The following error entry is expected and harmless ***
> [Sat Oct 08 08:28:08 2011] [error] [client 127.0.0.1] need AuthName:
> /TestModperl__setauth
> [Sat Oct 08 08:28:15 2011] [error] [client 127.0.0.1] Undefined subroutin=
e
> &TestHooks::error::bomb called at
> /home/daxtell/src/mod_perl-2.0.5/t/hooks/TestHooks/error.pm line 21.\n
> [Sat Oct 08 08:28:15 2011] [error] [client 127.0.0.1] Undefined subroutin=
e
> &TestHooks::error::bomb called at
> /home/daxtell/src/mod_perl-2.0.5/t/hooks/TestHooks/error.pm line 21.\n
>
>
> Any thoughts on why this would suddenly stop working? =A0Also, is there a=
ny
> reason not to try and use Perl 5.14.2 with mod_perl?
>
> Thanks,
> Dan
>

Re: Building mod_perl for authentication

am 12.10.2011 10:38:58 von Dave Hodgkinson

On 12 Oct 2011, at 04:06, Fred Moyer wrote:

> You should be able to run 5.14.1 with 2.06-dev available on
> http://perl.apache.org.
>
> If that doesn't work, I'd suggest posting your handlers to this list.
>
> Looking at that symbol error though, it suggests that you may have
> built mod_perl with a different binary build than it is being run
> with. Undefined symbols are generally an indication of incompatible
> Perl internal apis.


What Fred said. Take a look at perlbrew for building different
versions, for development at least.