[pm-h] mod perl and calendar.cgi

Fraser Baker flbaker at sbcglobal.net
Tue Apr 29 04:09:50 PDT 2014


Thanks for the comments:

There were two copies of template.pm. I removed the one in /site/lib on both 
machines. I restarted Apache on the modPerl machine. The path to template 
went away from %INC, which I expected. Now there is only one copy of 
template.pm on both machines, which came with perl, which is 5.16.

No difference. The HTML::template->initialize fails on the modPerl machine 
but runs on the other machine.

What I don't get is that there is no function named initialize in 
template.pm. The offending line is

my $tmpl = HTML::Template->initialize( $directives->{'template'} || 
'template.html' );

Any more thoughts?
Fraser


----- Original Message ----- 
From: "G. Wade Johnson" <gwadej at anomaly.org>
To: <houston at pm.org>
Sent: Friday, April 25, 2014 1:44 PM
Subject: Re: [pm-h] mod perl and calendar.cgi


> 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.
>
> 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)
>
> 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?
>>
>> 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