You are viewing a plain text version of this content. The canonical link for it is here.
Posted to asp@perl.apache.org by Maurice Yarrow <ya...@best.com> on 2006/06/06 18:28:06 UTC

ASP error: Can't locate object method "get" via package "APR::Table"...

Hello ASP people

Environment:
    FC1
    apache httpd 2.0.58
    perl5.8.8
    BLDBM,  BLDBM::Sync, Apache::ASP (2.59)  - I just installed these.
    mod_perl.so (2.0.2) installed, httpd.conf configured with appropriate
    LoadModule directive

After making and installing the above perl modules, copied the
Apache-ASP-2.59/site/asp directory tree to htdocs (including,
of course, htdocs/asp/eg/.htaccess), added the appropriate
    <Directory "/usr/local/apache2/htdocs/asp/eg" >
      Options FollowSymLinks
      AllowOverride All
    </Directory>
directive.
Can go to http://localhost/asp  (index.html), but get the below error
message when going to http://localhost/asp/eg  (i.e., the examples
dir from above):

[Tue Jun 06 00:05:32 2006] [error] [client 192.168.1.122] Can't locate 
object method "get" via package "APR::Table" at 
/usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at 
/usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
2016\n\tApache::ASP::get_dir_config('APR::Table=HASH(0x85005c4)', 
'Global') called at /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm 
line 275\n\tApache::ASP::new('Apache::ASP', 
'Apache2::RequestRec=SCALAR(0x85005a0)', 
'/usr/local/apache2/htdocs/asp/eg/index.html') called at 
/usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
183\n\tApache::ASP::handler('Apache2::RequestRec=SCALAR(0x85005a0)') 
called at -e line 0\n\teval {...} called at -e line 0\n
[root@orion Apache-ASP-2.59]#

I observe that this is an error that has been reported previously in
the ASP user group archives (currently maintained at yahoo), but
I saw no indication of a resolution.  (I am not a yahoo special
interest group member, so did not pursue it further at that location.)

Any ideas ?

Regards,
Maurice Yarrow




---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org


Re: ASP error: Can't locate object method "get" via package "APR::Table"...

Posted by Helmut Zeilinger <hz...@hzlabs.de>.
Hi Maurice,

can you check of few things:

Is there an APR::Table module?
(Usually in a subtree of "/usr/lib/perl5")

This should have been created/installed within the mod_perl 2 installation
(from the source package).

If yes what version is it ?
Are there multiple (outdated) versions of it installed?

If no, how did you install mod_perl? Can you reinstall it from the
mod_perl's source:

http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz


Helmut


Maurice Yarrow schrieb:
> Hello ASP people
>
> Environment:
>    FC1
>    apache httpd 2.0.58
>    perl5.8.8
>    BLDBM,  BLDBM::Sync, Apache::ASP (2.59)  - I just installed these.
>    mod_perl.so (2.0.2) installed, httpd.conf configured with appropriate
>    LoadModule directive
>
> After making and installing the above perl modules, copied the
> Apache-ASP-2.59/site/asp directory tree to htdocs (including,
> of course, htdocs/asp/eg/.htaccess), added the appropriate
>    <Directory "/usr/local/apache2/htdocs/asp/eg" >
>      Options FollowSymLinks
>      AllowOverride All
>    </Directory>
> directive.
> Can go to http://localhost/asp  (index.html), but get the below error
> message when going to http://localhost/asp/eg  (i.e., the examples
> dir from above):
>
> [Tue Jun 06 00:05:32 2006] [error] [client 192.168.1.122] Can't locate 
> object method "get" via package "APR::Table" at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
> 2016\n\tApache::ASP::get_dir_config('APR::Table=HASH(0x85005c4)', 
> 'Global') called at /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm 
> line 275\n\tApache::ASP::new('Apache::ASP', 
> 'Apache2::RequestRec=SCALAR(0x85005a0)', 
> '/usr/local/apache2/htdocs/asp/eg/index.html') called at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
> 183\n\tApache::ASP::handler('Apache2::RequestRec=SCALAR(0x85005a0)') 
> called at -e line 0\n\teval {...} called at -e line 0\n
> [root@orion Apache-ASP-2.59]#
>
> I observe that this is an error that has been reported previously in
> the ASP user group archives (currently maintained at yahoo), but
> I saw no indication of a resolution.  (I am not a yahoo special
> interest group member, so did not pursue it further at that location.)
>
> Any ideas ?
>
> Regards,
> Maurice Yarrow
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
> For additional commands, e-mail: asp-help@perl.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org


Re: ASP error: Can't locate object method "get" via package "APR::Table"...

Posted by Maurice Yarrow <ya...@best.com>.
Randy, et. al.:

I sent this reply out yesterday (see below) in response to Helmut's
similar reply and request for for further info.

As you see, there was a patch tendered a year ago, but not yet
incorporated into any release.  The patch certainly worked for me,
as it had it's author, but whether this is a righteous patch or not is
not for me to determine, but rather the ASP community.

However, thanks for you reply and concern.

Maurice Yarrow


Helmut

Thankyou for responding.
Actually, I found a patch that solved the problem:   And , in fact, this
turned out to be a patch to ASP.pm,  not APR::Table.pm.  It was
turned in in a formal patch designation on 2005-06-22
See:
http://www.mail-archive.com/asp@perl.apache.org/msg02428.html

The lines 65-71:
   if($ENV{MOD_PERL}) {
   $ModPerl2 = ($mod_perl::VERSION >= 1.99);
   if($ModPerl2) {
       eval "use Apache::ASP::ApacheCommon ();";
       die($@) if $@;
   }
   }

become
   if($ENV{MOD_PERL}) {
   $ModPerl2 = ($mod_perl::VERSION >= 1.99);
   my $ver = $mod_perl::VERSION;
   if ($ver eq "") { $ver = $ENV{MOD_PERL_API_VERSION}; }
   $ModPerl2 = ($ver >= 1.99);
   if($ModPerl2) {
       eval "use Apache::ASP::ApacheCommon ();";
       die($@) if $@;
   }
   }

Note that you can find this correspondence by using
Yahoo's search engine: just search for the exact Apache
error message:
Can't locate object method "get" via package "APR::Table"

Once again, thanks for responding.

Maurice Yarrow



Helmut Zeilinger wrote:

Hi Maurice,

can you check of few things:

Is there an APR::Table module?
(Usually in a subtree of "/usr/lib/perl5")

This should have been created/installed within the mod_perl 2 installation
(from the source package).

If yes what version is it ?
Are there multiple (outdated) versions of it installed?

If no, how did you install mod_perl? Can you reinstall it from the
mod_perl's source:

http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz


Helmut


Randy Kobes wrote:

> On Tue, 6 Jun 2006, Maurice Yarrow wrote:
>
>> Hello ASP people
>>
>> Environment:
>>   FC1
>>   apache httpd 2.0.58
>>   perl5.8.8
>>   BLDBM,  BLDBM::Sync, Apache::ASP (2.59)  - I just installed these.
>>   mod_perl.so (2.0.2) installed, httpd.conf configured with appropriate
>>   LoadModule directive
>>
>> After making and installing the above perl modules, copied the
>> Apache-ASP-2.59/site/asp directory tree to htdocs (including,
>> of course, htdocs/asp/eg/.htaccess), added the appropriate
>>   <Directory "/usr/local/apache2/htdocs/asp/eg" >
>>     Options FollowSymLinks
>>     AllowOverride All
>>   </Directory>
>> directive.
>> Can go to http://localhost/asp  (index.html), but get the below error
>> message when going to http://localhost/asp/eg  (i.e., the examples
>> dir from above):
>>
>> [Tue Jun 06 00:05:32 2006] [error] [client 192.168.1.122] Can't 
>> locate object method "get" via package "APR::Table" at 
>> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at 
>
> [ ... ]
>
> Usually these errors are a result of not use()ing the
> module in question; from
>    perl -MModPerl::MethodLookup -e print_method get
> the relevant module is APR::Table. However, this
> module should have been loaded (in Apache::ASP 2.59)
> by Apache::ASP::ApacheCommon. Did all of the mod_perl
> and Apache::ASP tests succeed when you installed them?
> If so, does adding
>    use APR::Table ();
> at the beginning of Apache::ASP help?
>



---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org


Re: ASP error: Can't locate object method "get" via package "APR::Table"...

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Tue, 6 Jun 2006, Maurice Yarrow wrote:

> Hello ASP people
>
> Environment:
>   FC1
>   apache httpd 2.0.58
>   perl5.8.8
>   BLDBM,  BLDBM::Sync, Apache::ASP (2.59)  - I just installed these.
>   mod_perl.so (2.0.2) installed, httpd.conf configured with appropriate
>   LoadModule directive
>
> After making and installing the above perl modules, copied the
> Apache-ASP-2.59/site/asp directory tree to htdocs (including,
> of course, htdocs/asp/eg/.htaccess), added the appropriate
>   <Directory "/usr/local/apache2/htdocs/asp/eg" >
>     Options FollowSymLinks
>     AllowOverride All
>   </Directory>
> directive.
> Can go to http://localhost/asp  (index.html), but get the below error
> message when going to http://localhost/asp/eg  (i.e., the examples
> dir from above):
>
> [Tue Jun 06 00:05:32 2006] [error] [client 192.168.1.122] Can't locate object 
> method "get" via package "APR::Table" at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at 
[ ... ]

Usually these errors are a result of not use()ing the
module in question; from
    perl -MModPerl::MethodLookup -e print_method get
the relevant module is APR::Table. However, this
module should have been loaded (in Apache::ASP 2.59)
by Apache::ASP::ApacheCommon. Did all of the mod_perl
and Apache::ASP tests succeed when you installed them?
If so, does adding
    use APR::Table ();
at the beginning of Apache::ASP help?

-- 
best regards,
Randy Kobes

---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org


Re: ASP error: Can't locate object method "get" via package "APR::Table"...

Posted by dpasqua2 <do...@gmail.com>.
Hi Maurice, 

I had the same problem. It seems that Apache2::compat is required by
Apache ASP to run with mod_perl 2. The the solution was to load
Apache2::compat in startup.pl. 

The file startup.pl must be included in Apache's configuration file.

startup.pl:

#!/usr/bin/perl

use Apache2::compat;
1;

httpd.conf:

PerlRequire /usr/local/apache/conf/startup.pl

Regards,
Douglas Pasqua
Brazil

--- In apache-asp@yahoogroups.com, Maurice Yarrow <ya...@...> wrote:
>
> Hello ASP people
> 
> Environment:
>     FC1
>     apache httpd 2.0.58
>     perl5.8.8
>     BLDBM,  BLDBM::Sync, Apache::ASP (2.59)  - I just installed these.
>     mod_perl.so (2.0.2) installed, httpd.conf configured with
appropriate
>     LoadModule directive
> 
> After making and installing the above perl modules, copied the
> Apache-ASP-2.59/site/asp directory tree to htdocs (including,
> of course, htdocs/asp/eg/.htaccess), added the appropriate
>     <Directory "/usr/local/apache2/htdocs/asp/eg" >
>       Options FollowSymLinks
>       AllowOverride All
>     </Directory>
> directive.
> Can go to http://localhost/asp  (index.html), but get the below error
> message when going to http://localhost/asp/eg  (i.e., the examples
> dir from above):
> 
> [Tue Jun 06 00:05:32 2006] [error] [client 192.168.1.122] Can't locate 
> object method "get" via package "APR::Table" at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
> 2016\n\tApache::ASP::get_dir_config('APR::Table=HASH(0x85005c4)', 
> 'Global') called at /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm 
> line 275\n\tApache::ASP::new('Apache::ASP', 
> 'Apache2::RequestRec=SCALAR(0x85005a0)', 
> '/usr/local/apache2/htdocs/asp/eg/index.html') called at 
> /usr/local/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 
> 183\n\tApache::ASP::handler('Apache2::RequestRec=SCALAR(0x85005a0)') 
> called at -e line 0\n\teval {...} called at -e line 0\n
> [root@orion Apache-ASP-2.59]#
> 
> I observe that this is an error that has been reported previously in
> the ASP user group archives (currently maintained at yahoo), but
> I saw no indication of a resolution.  (I am not a yahoo special
> interest group member, so did not pursue it further at that location.)
> 
> Any ideas ?
> 
> Regards,
> Maurice Yarrow
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: asp-unsubscribe@...
> For additional commands, e-mail: asp-help@...
>






---------------------------------------------------------------------
To unsubscribe, e-mail: asp-unsubscribe@perl.apache.org
For additional commands, e-mail: asp-help@perl.apache.org