[pm-h] mod perl and calendar.cgi

B. Estrade estrabd at gmail.com
Fri Apr 25 17:51:12 PDT 2014


On Fri, Apr 25, 2014 at 1:44 PM, G. Wade Johnson <gwadej at anomaly.org> wrote:
> On Fri, 25 Apr 2014 12:09:59 -0500
> "Fraser Baker" <flbaker at sbcglobal.net> wrote:
>
>> OK:
>>
>> For the server that is NOT running mod_perl
>> INCLUDED DATA ARRAY is
>> Term is C:/Perl/site/lib
>> Term is C:/Perl/lib
>> Term is .
>>
>> For the server that IS running mod_perl
>>
>> INCLUDED DATA ARRAY is
>> Term is D:/www/wc-admin.com/cgi-bin
>> Term is C:/Perl/site/lib
>> Term is C:/Perl/lib
>> Term is .
>> Term is C:/Program Files/Apache Software Foundation/Apache2.2
>
> Okay. This gives us some stuff to work with.
>
> Check each of the directories in the two sets of paths for
> HTML/Template.pm. This might show more than one HTML::Template module
> installed.

Or none at all. Make sure HTML::Template is installed.

>
> Next, check to see if you have the same version of HTML::Template on
> both machines. I had somehow missed earlier that these were two
> separate machines. (Brain fail)
>

/me too... oopsie

> You'll want to verify that there is only one version of HTML::Template
> on each server and that the versions on the two servers match.
>
> If the one that works is older than the one that doesn't, upgrading will
> require code changes to match the newer module. If the one that works
> is the newer version, you can upgrade the version and the problem
> should be solved.
>
> G. Wade
>
>
>> I don't see anything here. Where to go from here?

Is this mod_perl or mod_perl2? I am not familiar with any of this on
Windows unfortunately.  You could create a barebones script that just
tries to include HTML::Template using one directory in @INC at a time.
 mod_perl also does funky things with applications that are not meant
to be run persistently - so if this is the case there are request
"handlers" that are meant to restart or recompile/restart for each
request.

Unfortunately it could be a tedious process to track it down, but I
think wade's put you on the right track.

Brett

>>
>> Fraser
>>
>>
>> ----- Original Message -----
>> From: "G. Wade Johnson" <gwadej at anomaly.org>
>> To: <houston at pm.org>
>> Sent: Friday, April 25, 2014 11:25 AM
>> Subject: Re: [pm-h] mod perl and calendar.cgi
>>
>>
>> > On Fri, 25 Apr 2014 08:23:59 -0500
>> > "Fraser Baker" <flbaker at sbcglobal.net> wrote:
>> >
>> >> Hi Brett:
>> >>
>> >> Turns out that for the mod_perl server, there are some 165 entries
>> >> in %INC whereas for the not mod-perl server there is only one.
>> >
>> > Hi Fraser,
>> >
>> > There are 2 different things here.
>> >
>> > @INC contains a list of directories that perl searches for modules.
>> > %INC contains entries for each module that is loaded.
>> >
>> > I believe the suggestion was to check @INC to see if a module is
>> > loaded from a location you are not expecting.
>> >
>> > G. Wade
>> >
>> >> The %ENV is larger by about 5 entries on the mod_perl machine.
>> >>
>> >> OK, where do I go from here.
>> >>
>> >> Fraser
>> >>
>> >> ----- Original Message -----
>> >> From: "B. Estrade" <estrabd at gmail.com>
>> >> To: "Houston.pm located in Houston, TX." <houston at pm.org>
>> >> Sent: Tuesday, April 22, 2014 10:15 AM
>> >> Subject: Re: [pm-h] mod perl and calendar.cgi
>> >>
>> >>
>> >> > Just a hunch, but I'd look to see how mod_perl affected your
>> >> > environment. namely @INC.
>> >> >
>> >> > Brett
>> >> >
>> >> > On Tue, Apr 22, 2014 at 9:47 AM, Fraser Baker
>> >> > <flbaker at sbcglobal.net> wrote:
>> >> >> Hi y'all:
>> >> >>
>> >> >> Before I added mod-perl, calendar.cgi worked.
>> >> >>
>> >> >> After mod perl I get this error:
>> >> >>
>> >> >> [Tue Apr 22 09:28:35 2014] [error] Can't locate object method
>> >> >> "initialize"
>> >> >> via package "HTML::Template" at
>> >> >> D:/www/wc-admin.com/cgi-bin/event_calendar/calendar.cgi line
>> >> >> 131.\n
>> >> >>
>> >> >> The offending line in calendar.cgi is:
>> >> >>
>> >> >> my
>> >> >>
>> >> >> $tmpl = HTML::Template->initialize( $directives->{'template'} ||
>> >> >> 'template.html' );
>> >> >>
>> >> >> I searched template.pm and don't find a function named
>> >> >> initialize. I do find
>> >> >>
>> >> >> # initialize the template buffer
>> >> >> sub _init_template {
>> >> >>
>> >> >> How do I fix this?
>> >> >>
>> >> >> Fraser
>
>
> --
> If debugging is the process of removing software bugs, the programming
> must be the process of putting them in.               -- Edsger Dijkstra
> _______________________________________________
> Houston mailing list
> Houston at pm.org
> http://mail.pm.org/mailman/listinfo/houston
> Website: http://houston.pm.org/


More information about the Houston mailing list