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" <[email protected]>
To: <[email protected]>
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" <[email protected]> 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" <[email protected]>
To: <[email protected]>
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" <[email protected]> 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" <[email protected]>
>> To: "Houston.pm located in Houston, TX." <[email protected]>
>> 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
>> > <[email protected]> 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
[email protected]
http://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

_______________________________________________
Houston mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/houston
Website: http://houston.pm.org/

Reply via email to