You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Aaron Trevena <aa...@gmail.com> on 2006/09/12 11:04:47 UTC

Can't locate "FIRSTKEY" error

Hello funky mod_perl people,

I've had a few people report the following problem when using mod_perl
2.x and Maypole.

As far as I can see Maypole isn't doing anything wrong yet we get the
following error:

Can't locate object method "FIRSTKEY" via package "APR::Table" at
/usr/src/maypole/lib/Apache/MVC.pm line 114, <DATA> line 1.\n

The chunk of code concerned looks like :

  if ($MODPERL2)  {
      %headers = %{$self->ar->headers_in};
  }

Where $self->ar provides the apache request.

I'm guessing this could be because libapreq2 isn't installed but don't
have any way to check this myself.

Can anybody provide any clues how to work around or fix this problem..

Thanks

A

-- 
http://www.aarontrevena.co.uk
LAMP System Integration, Development and Hosting

Re: Can't locate "FIRSTKEY" error

Posted by Aaron Trevena <aa...@gmail.com>.
On 13/09/06, Perrin Harkins <pe...@elem.com> wrote:
> On Wed, 2006-09-13 at 16:27 +0100, Aaron Trevena wrote:
> > Currently I don't have mp2 installed anywhere to hand, and the mp2
> > code was all tested when I was developing against an mp2 system.
>
> Maybe the guy who reported the error on the Maypole list could test it
> for you.

I'd rather see it working in mp2 with and without libapreq myself.
I've found people aren't keen on volunteering to test Maypole - all
the people who want to try out bleeding edge code that breaks switched
to catalyst ;)

A.


-- 
http://www.aarontrevena.co.uk
LAMP System Integration, Development and Hosting

Re: Can't locate "FIRSTKEY" error

Posted by Perrin Harkins <pe...@elem.com>.
On Wed, 2006-09-13 at 16:27 +0100, Aaron Trevena wrote:
> Currently I don't have mp2 installed anywhere to hand, and the mp2
> code was all tested when I was developing against an mp2 system.

Maybe the guy who reported the error on the Maypole list could test it
for you.

- Perrin


Re: Can't locate "FIRSTKEY" error

Posted by Aaron Trevena <aa...@gmail.com>.
On 13/09/06, Randy Kobes <ra...@theoryx5.uwinnipeg.ca> wrote:
> On Wed, 13 Sep 2006, Aaron Trevena wrote:
> > ..Which means installimg mod_perl 2.x in various ways and hoping to
> > replicate the error. Oh Joy.
>
> I don't think this suggestion involves reinstalling mp2,
> or even altering anything in it. The original error:

Currently I don't have mp2 installed anywhere to hand, and the mp2
code was all tested when I was developing against an mp2 system.

Obviously I need to check the fix works before I commit it to SVN :)

Thanks for the help,

Aaron

-- 
http://www.aarontrevena.co.uk
LAMP System Integration, Development and Hosting

Re: Can't locate "FIRSTKEY" error

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Wed, 13 Sep 2006, Aaron Trevena wrote:

> On 13/09/06, Randy Kobes <ra...@theoryx5.uwinnipeg.ca> wrote:
>> Within Apache::MVC, at the start where it requires a
>> bunch of mp2 modules, does adding
>>     require APR::Table;
>> help?
>
> I'll try it.
>
> ..Which means installimg mod_perl 2.x in various ways and hoping to
> replicate the error. Oh Joy.

I don't think this suggestion involves reinstalling mp2,
or even altering anything in it. The original error:

> Can't locate object method "FIRSTKEY" via package "APR::Table" at
> /usr/src/maypole/lib/Apache/MVC.pm line 114, <DATA> line 1.\n

indicates Apache::MVC is mod_perl-2 aware. However, at
the beginning of Apache::MVC, where it pulls in a bunch
of mod_perl modules, such as
   require Apache2::RequestIO;
   require Apache2::RequestRec;
   require Apache2::RequestUtil;
and so on, all I meant to try was adding
   require APR::Table;
which isn't included in this list.

-- 
best regards,
Randy

Re: Can't locate "FIRSTKEY" error

Posted by Aaron Trevena <aa...@gmail.com>.
On 13/09/06, Randy Kobes <ra...@theoryx5.uwinnipeg.ca> wrote:
> Within Apache::MVC, at the start where it requires a
> bunch of mp2 modules, does adding
>     require APR::Table;
> help?

I'll try it.

..Which means installimg mod_perl 2.x in various ways and hoping to
replicate the error. Oh Joy.

A.

-- 
http://www.aarontrevena.co.uk
LAMP System Integration, Development and Hosting

Re: Can't locate "FIRSTKEY" error

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Tue, 12 Sep 2006, Jonathan Vanasco wrote:

>
> On Sep 12, 2006, at 5:04 AM, Aaron Trevena wrote:
>> Can't locate object method "FIRSTKEY" via package "APR::Table" at
>> /usr/src/maypole/lib/Apache/MVC.pm line 114, <DATA> line 1.\n
>
> looks like its a tied variable error.
>
> apreq people -- is APR::Table even tied ?  or is this some sort of class 
> inheritance issue?  I've seen this before with Apache::Session , when pulling 
> in random crap from autoloader via DBI and odd ISA subclassing.
>
>
>> The chunk of code concerned looks like :
>> 
>> if ($MODPERL2)  {
>>     %headers = %{$self->ar->headers_in};
>> }
>> 
>> Where $self->ar provides the apache request.

Within Apache::MVC, at the start where it requires a
bunch of mp2 modules, does adding
    require APR::Table;
help?

-- 
best regards,
Randy Kobes

Re: Can't locate "FIRSTKEY" error

Posted by Jonathan Vanasco <mo...@2xlp.com>.
On Sep 12, 2006, at 5:04 AM, Aaron Trevena wrote:
> Can't locate object method "FIRSTKEY" via package "APR::Table" at
> /usr/src/maypole/lib/Apache/MVC.pm line 114, <DATA> line 1.\n

looks like its a tied variable error.

apreq people -- is APR::Table even tied ?  or is this some sort of  
class inheritance issue?  I've seen this before with  
Apache::Session , when pulling in random crap from autoloader via DBI  
and odd ISA subclassing.


> The chunk of code concerned looks like :
>
>  if ($MODPERL2)  {
>      %headers = %{$self->ar->headers_in};
>  }
>
> Where $self->ar provides the apache request.
>
> I'm guessing this could be because libapreq2 isn't installed but don't
> have any way to check this myself.

$ locate Apache | grep Request.pm

> Can anybody provide any clues how to work around or fix this problem..

if you think the issue is from libapreq missing, install it and see  
if that solves your problem