Mailing List Archive

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"... [ In reply to ]
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"... [ In reply to ]
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 <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
> /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
Re: ASP error: Can't locate object method "get" via package "APR::Table"... [ In reply to ]
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"... [ In reply to ]
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