RE: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-12 Thread DeAngelo Lampkin
It's hard to generalize because in some cases the shared object file may actually not 
be installed.  However, there should probably be something in the documentation that 
tells the user to make sure that the LD_LIBRARY_PATH variable and/or the 
/etc/ld.so.conf file include the usual default installation paths for required 
packages.

-DeAngelo

-Original Message-
From: Perrin Harkins [mailto:perrin@;elem.com]
Sent: Friday, November 08, 2002 1:10 PM
To: DeAngelo Lampkin
Cc: mod_perl Mailing List
Subject: Re: Can't locate object method "new" via package
"Apache::Request" (via Mason)...SOLVED


DeAngelo Lampkin wrote:

> And of course the other reason is that if the solution to the problem 
> was so obvious from the error message, somebody would have posted a 
> solution before I figured it out (with help from you guys).


There is documentation related to this problem in the troubleshooting 
section, and if you'd like to generalize it a little so it will be 
easier for others to find when looking at this type of message, your 
help would be welcome.  The current documentation is here:
http://perl.apache.org/docs/1.0/guide/troubleshooting.html#install_driver_Oracle__failed__Can_t_load__DBD_Oracle_Oracle_so__for_module_DBD__Oracle

- Perrin




Re: Can't locate object method "new" via package "Apache::Request"(via Mason)...SOLVED

2002-11-08 Thread Perrin Harkins
DeAngelo Lampkin wrote:


And of course the other reason is that if the solution to the problem 
was so obvious from the error message, somebody would have posted a 
solution before I figured it out (with help from you guys).


There is documentation related to this problem in the troubleshooting 
section, and if you'd like to generalize it a little so it will be 
easier for others to find when looking at this type of message, your 
help would be welcome.  The current documentation is here:
http://perl.apache.org/docs/1.0/guide/troubleshooting.html#install_driver_Oracle__failed__Can_t_load__DBD_Oracle_Oracle_so__for_module_DBD__Oracle

- Perrin



RE: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-08 Thread DeAngelo Lampkin
Cool.  Will do.

-Original Message-
From: Tim Tompkins [mailto:timt@;arttoday.com]
Sent: Thursday, November 07, 2002 12:27 PM
To: DeAngelo Lampkin; [EMAIL PROTECTED]
Subject: Re: Can't locate object method "new" via package
"Apache::Request" (via Mason)...SOLVED


> As a quick follow-up, the "PerlModule Apache::Request" line is NOT
> needed in the httpd.conf file for Mason to work.  However, it was a very
> valuable debugging tool.

That wasn't really the purpose, though.  The purpose was to pre-load the
module in the parent apache process for efficiency.  My suggestion did come
about because it appeared that Apache::Request wasn't being loaded at all.
I'm not exacly sure how that happened as Mason's ApacheRequest attempts to
require() Apache::Request a couple of places.  But just the same, my
suggestion to pre-load Apache::Request, as well as any other lib you
normally use, stands.

See:
http://perl.apache.org/docs/1.0/guide/performance.html#Preloading_Perl_Modul
es_at_Server_Startup


Regards,

Tim Tompkins
--
Programmer
http://www.clipart.com/
http://www.rebelartist.com/
--




RE: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-08 Thread DeAngelo Lampkin
>Huh?
>It tells you EXACTLY what is wrong.


No, not really. 

One reason is that it's not immediately clear (to me) which file can't be loaded.  Is 
it Request.so or libapreq.so.1 that can't be loaded?  This ambiguity is further 
blurred when you know both files are installed.  

And of course the other reason is that if the solution to the problem was so obvious 
from the error message, somebody would have posted a solution before I figured it out 
(with help from you guys).

Searching the  mailing list archives indicates that method name resolution is not 
exacly a new problem with mod_perl.  Just ask this guy => 
http://lists.fsck.com/pipermail/rt-users/2002-September.txt.  It's the exact same 
problem with the exact same error message, only in different clothing (he's having 
trouble with the Apache::Cookie object rather than the Apache::Request object). 

In the interest of full disclosure, other possible solutions include resetting 
/etc/ld.so.conf or the LD_LIBRARY_PATH variable to include more places to look for 
shared object files (only recently figured this out).  But again, unless you're 
somewhat experienced or have encountered this class of bug before, this won't 
necessarily be the obvious place to look at first.

Anyway enough of my babbling.  Now that the answer is out there, hopefully it'll help 
out the poor souls who run into this issue in the future.

Later,

DeAngelo




-Original Message-
From: Ged Haywood [mailto:ged@;www2.jubileegroup.co.uk]
Sent: Thursday, November 07, 2002 10:01 PM
To: DeAngelo Lampkin
Cc: mod_perl Mailing List
Subject: RE: Can't locate object method "new" via package
"Apache::Request" (via Mason)...SOLVED


Hi there,

On Thu, 7 Nov 2002, DeAngelo Lampkin wrote:

> A file called libapreq.so.1 was located in /usr/local/lib
> (should have been in /usr/lib) [snip] I ended up getting this thing:
> 
> Syntax error on line 362 of /usr/local/apache/conf/httpd.conf:
> Can't load 
>'/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Apache/Request/Request.so'\
>  for module Apache::Request: libapreq.so.1: cannot open shared object file:\
>  No such file or directory [snip]
> 
> This isn't the most helpful error message in the world.

Huh?

It tells you EXACTLY what is wrong.

73,
Ged.




RE: Can't locate object method "new" via package "Apache::Request"(via Mason)...SOLVED

2002-11-07 Thread Ged Haywood
Hi there,

On Thu, 7 Nov 2002, DeAngelo Lampkin wrote:

> A file called libapreq.so.1 was located in /usr/local/lib
> (should have been in /usr/lib) [snip] I ended up getting this thing:
> 
> Syntax error on line 362 of /usr/local/apache/conf/httpd.conf:
> Can't load 
>'/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Apache/Request/Request.so'\
>  for module Apache::Request: libapreq.so.1: cannot open shared object file:\
>  No such file or directory [snip]
> 
> This isn't the most helpful error message in the world.

Huh?

It tells you EXACTLY what is wrong.

73,
Ged.




Re: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-07 Thread Tim Tompkins
> As a quick follow-up, the "PerlModule Apache::Request" line is NOT
> needed in the httpd.conf file for Mason to work.  However, it was a very
> valuable debugging tool.

That wasn't really the purpose, though.  The purpose was to pre-load the
module in the parent apache process for efficiency.  My suggestion did come
about because it appeared that Apache::Request wasn't being loaded at all.
I'm not exacly sure how that happened as Mason's ApacheRequest attempts to
require() Apache::Request a couple of places.  But just the same, my
suggestion to pre-load Apache::Request, as well as any other lib you
normally use, stands.

See:
http://perl.apache.org/docs/1.0/guide/performance.html#Preloading_Perl_Modul
es_at_Server_Startup


Regards,

Tim Tompkins
--
Programmer
http://www.clipart.com/
http://www.rebelartist.com/
--




RE: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-07 Thread DeAngelo Lampkin
As a quick follow-up, the "PerlModule Apache::Request" line is NOT needed in the 
httpd.conf file for Mason to work.  However, it was a very valuable debugging tool.

-Original Message-
From: DeAngelo Lampkin 
Sent: Thursday, November 07, 2002 11:21 AM
To: Tim Tompkins; [EMAIL PROTECTED]
Subject: RE: Can't locate object method "new" via package
"Apache::Request" (via Mason)...SOLVED


Thanks to Tim, Gareth, and Phillippe:

OK, I'll start with the solution to the problem and then drag on a bit for how I found 
it.

The problem was the location of a shared object file for the Apache Request object.  A 
file called libapreq.so.1 was located in /usr/local/lib (should have been in 
/usr/lib), which was ok for the test script that Phillippe gave me and the one-liner 
that Gareth gave me, but was apparently NOT ok for Mason in the context of mod_perl.  
I didn't figure this out until I tried Tim's suggestion of preloading the 
Apache::Request module inside of httpd.conf.  I ended up getting this thing:

Syntax error on line 362 of /usr/local/apache/conf/httpd.conf:
Can't load 
'/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Apache/Request/Request.so'
 for module Apache::Request: libapreq.so.1: cannot open shared object file: No such 
file or directory at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 
229.
 at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/mod_perl.pm line 14
Compilation failed in require at (eval 4) line 3.

This isn't the most helpful error message in the world.  However, I knew Request.so 
and libapreq.so.1 were installed, but I didn't know if they were in places that the 
server process expected them to be.  So did a search for all the shared object files 
and noticed libapreq.so.1 file was sitting all by itself in /usr/local/lib, while 
about a billion other shared object files were inside of /usr/lib.  I moved 
libapreq.so.1 to the place where all the other cool shared object files hung out, 
crossed my fingers, and booya! It worked.  Apprently something about the way I 
configured the installation for libapreq was not very Mason friendly.

Anyway, thanks again for the help.  

DeAngelo

-Original Message-
From: Tim Tompkins [mailto:timt@;arttoday.com]
Sent: Thursday, November 07, 2002 10:16 AM
To: DeAngelo Lampkin; [EMAIL PROTECTED]
Subject: Re: Can't locate object method "new" via package
"Apache::Request" (via Mason)...


You should pre-load Apache::Request anyway,

PerlModule Apache::Request
PerlModule HTML::Mason::ApacheHandler


SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler



Regards,

Tim Tompkins
--
Programmer
http://www.clipart.com/
http://www.rebelartist.com/
--
- Original Message -
From: "Tim Tompkins" <[EMAIL PROTECTED]>
To: "DeAngelo Lampkin" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Thursday, November 07, 2002 11:08 AM
Subject: Re: Can't locate object method "new" via package "Apache::Request"
(via Mason)...


> Is Apache::Request installed for perl 5.8.0?  Sounds like it's not loaded,
> anyway.
>
>
> Regards,
>
> Tim Tompkins
> --
> Programmer
> http://www.clipart.com/
> http://www.rebelartist.com/
> --
> - Original Message -
> From: "DeAngelo Lampkin" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Thursday, November 07, 2002 10:54 AM
> Subject: RE: Can't locate object method "new" via package
"Apache::Request"
> (via Mason)...
>
>
> Hi Gareth,
>
> I'm using the latest version of Mason, Mason 1.15.  As I posted in my
> previous email, I put the following lines into my httpd.conf file per the
> instructions on Mason's website:
>
> PerlModule HTML::Mason::ApacheHandler
> 
> SetHandler perl-script
> PerlHandler HTML::Mason::ApacheHandler
> 
>
> The reason this wasn't posted on a Mason mailing list is that this didn't
> seem like a Mason problem per se and the Mason mailing list page
> specifically mentioned the Apache Request object (at least in part the
> source of my problem)as being something that is not directly Mason
> related( http://lists.sourceforge.net/lists/listinfo/mason-users ).  So I
> took the advice of the list moderator and posted on the mod_perl list
> instead.
>
> Thanks!
>
> DeAngelo
>
> -Original Message-
> From: Gareth Kirwan [mailto:gbjk@;thermeoneurope.com]
> Sent: Thursday, November 07, 2002 1:44 AM
> To: DeAngelo Lampkin; 

RE: Can't locate object method "new" via package "Apache::Request" (via Mason)...SOLVED

2002-11-07 Thread DeAngelo Lampkin
Thanks to Tim, Gareth, and Phillippe:

OK, I'll start with the solution to the problem and then drag on a bit for how I found 
it.

The problem was the location of a shared object file for the Apache Request object.  A 
file called libapreq.so.1 was located in /usr/local/lib (should have been in 
/usr/lib), which was ok for the test script that Phillippe gave me and the one-liner 
that Gareth gave me, but was apparently NOT ok for Mason in the context of mod_perl.  
I didn't figure this out until I tried Tim's suggestion of preloading the 
Apache::Request module inside of httpd.conf.  I ended up getting this thing:

Syntax error on line 362 of /usr/local/apache/conf/httpd.conf:
Can't load 
'/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Apache/Request/Request.so'
 for module Apache::Request: libapreq.so.1: cannot open shared object file: No such 
file or directory at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 
229.
 at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/mod_perl.pm line 14
Compilation failed in require at (eval 4) line 3.

This isn't the most helpful error message in the world.  However, I knew Request.so 
and libapreq.so.1 were installed, but I didn't know if they were in places that the 
server process expected them to be.  So did a search for all the shared object files 
and noticed libapreq.so.1 file was sitting all by itself in /usr/local/lib, while 
about a billion other shared object files were inside of /usr/lib.  I moved 
libapreq.so.1 to the place where all the other cool shared object files hung out, 
crossed my fingers, and booya! It worked.  Apprently something about the way I 
configured the installation for libapreq was not very Mason friendly.

Anyway, thanks again for the help.  

DeAngelo

-Original Message-
From: Tim Tompkins [mailto:timt@;arttoday.com]
Sent: Thursday, November 07, 2002 10:16 AM
To: DeAngelo Lampkin; [EMAIL PROTECTED]
Subject: Re: Can't locate object method "new" via package
"Apache::Request" (via Mason)...


You should pre-load Apache::Request anyway,

PerlModule Apache::Request
PerlModule HTML::Mason::ApacheHandler


SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler



Regards,

Tim Tompkins
--
Programmer
http://www.clipart.com/
http://www.rebelartist.com/
--
- Original Message -
From: "Tim Tompkins" <[EMAIL PROTECTED]>
To: "DeAngelo Lampkin" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Thursday, November 07, 2002 11:08 AM
Subject: Re: Can't locate object method "new" via package "Apache::Request"
(via Mason)...


> Is Apache::Request installed for perl 5.8.0?  Sounds like it's not loaded,
> anyway.
>
>
> Regards,
>
> Tim Tompkins
> --
> Programmer
> http://www.clipart.com/
> http://www.rebelartist.com/
> --
> - Original Message -
> From: "DeAngelo Lampkin" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Thursday, November 07, 2002 10:54 AM
> Subject: RE: Can't locate object method "new" via package
"Apache::Request"
> (via Mason)...
>
>
> Hi Gareth,
>
> I'm using the latest version of Mason, Mason 1.15.  As I posted in my
> previous email, I put the following lines into my httpd.conf file per the
> instructions on Mason's website:
>
> PerlModule HTML::Mason::ApacheHandler
> 
> SetHandler perl-script
> PerlHandler HTML::Mason::ApacheHandler
> 
>
> The reason this wasn't posted on a Mason mailing list is that this didn't
> seem like a Mason problem per se and the Mason mailing list page
> specifically mentioned the Apache Request object (at least in part the
> source of my problem)as being something that is not directly Mason
> related( http://lists.sourceforge.net/lists/listinfo/mason-users ).  So I
> took the advice of the list moderator and posted on the mod_perl list
> instead.
>
> Thanks!
>
> DeAngelo
>
> -Original Message-
> From: Gareth Kirwan [mailto:gbjk@;thermeoneurope.com]
> Sent: Thursday, November 07, 2002 1:44 AM
> To: DeAngelo Lampkin; [EMAIL PROTECTED]
> Subject: RE: Can't locate object method "new" via package
> "Apache::Request" (via Mason)...
>
>
> You need to set Mason up better - probably.
>
> I'm an avid Mason user, and I've seen this a fair few times.
> If you want help, you're most likely to get it on the
> [EMAIL PROTECTED] list.
> However if you want to tell me the version of mason you're using it might
> help.
>
> You could use a mason-handler.pl with Mason 1.12 ( or 1.15) and the new
> Lexer / Compiller components.
>
> There should be a require statement in your httpd.conf.
> This gives you better control over data structures, variable scopes, and
an
> opportunity to handle persistent database connections better in the
handler.
>
> Check out the information on http://www.masonhq.com
>
> Hop