For Programmers: Free Programming Magazines  


Home > Archive > PERL Beginners > August 2007 > reconciling the results from two Perl installations









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author reconciling the results from two Perl installations
Larry Vaden

2007-08-02, 7:00 pm

We need to reconcile two Perl installations on mx2 and mx4, mail
relays running Postfix, amavisd-new and SpamAssassin.

The results differ when running the same program ('spamassassin -t')
with the same data on the two machines.

The operating systems are both Centos-4.5; yum shows that both
machines are up to date with regard to 'yum check-update perl-*'.

How does one go about determining what the cockpit error is?

What controls whether a Perl module is chosen from

/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi

or

/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi?

Is it, e.g.,

[vaden@mx4 vaden]# grep -i /usr/lib/perl5 /usr/bin/spamassassin
use lib '/usr/lib/perl5/vendor_perl/5.8.5'; #
substituted at 'make' time

How does one make certain that the result of say 'perl -MCPAN -e
'install Net::DNS' is used (given that 0.61 came out this w and it
seems relevant)?

kind regards/ldv

Larry Vaden
Internet Texoma, Inc.

[vaden@mx2 vaden]# spamassassin -t < sample-nonspam.txt > sample-nonspam.out
[30457] warn: spf: lookup failed: Net::DNS::typesbyname() argument
(SPF) is not TYPE### at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/Net/DNS.pm
line 146.
[30457] warn: spf: lookup failed: Net::DNS::typesbyname() argument
(SPF) is not TYPE### at
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/Net/DNS.pm
line 146.
[vaden@mx2 vaden]#

[vaden@mx4 vaden]# spamassassin -t < sample-nonspam.txt > sample-nonspam.out
[vaden@mx4 vaden]#
Tom Phoenix

2007-08-02, 7:00 pm

On 8/2/07, Larry Vaden <vaden@texoma.net> wrote:

> What controls whether a Perl module is chosen from


The order of directories in @INC controls this; the first module found
is the one that's used. Does that give you what you need?

Cheers!

--Tom Phoenix
Stonehenge Perl Training
Larry Vaden

2007-08-02, 7:00 pm

On 8/2/07, Tom Phoenix <tom@stonehenge.com> wrote:
> On 8/2/07, Larry Vaden <vaden@texoma.net> wrote:
>
>
> The order of directories in @INC controls this; the first module found
> is the one that's used. Does that give you what you need?
>
> Cheers!
>
> --Tom Phoenix
> Stonehenge Perl Training


Thanks, Tom!

The output of grep -i "@inc" /usr/bin/spamassassin is:

unshift ( @INC, '../blib/lib' );
{ unshift ( @INC, $dir ); last; }
-pathlist => \@INC,
pod2usage( -verbose => $verbose, -message => $message, -exitval =>
64, -input => "spamassassin-run.pod", -pathlist => \@INC );

which is over my head :)

Is it true that

use lib '/usr/lib/perl5/vendor_perl/5.8.5'; in /usr/bin/spamassassin
would cause .pm modules in /vendor_perl/ to be chosen over those in
/site_perl/?

Is it true that

perl -MCPAN -e 'install A::B' updates /site_perl/ rather than /vendor_perl/?

The reason I ask is that /vendor_perl/ has Net::DNS version 0.48 and
/site_perl/ has Net::DNS version 0.61 and if I understand the Net::DNS
release notes, one wants an SPF-specific fix just released in Net::DNS
version 0.61.

IOW, how does one go about benefiting from using perl -MCPAN to update
Perl modules?

kind regards/ldv
Dr.Ruud

2007-08-08, 7:00 pm

"Larry Vaden" schreef:

> /vendor_perl/ has Net::DNS version 0.48 and
> /site_perl/ has Net::DNS version 0.61 and if I understand the Net::DNS
> release notes, one wants an SPF-specific fix just released in Net::DNS
> version 0.61.


$ perl -wle 'print for @INC'

$ perldoc -l Net::DNS

$ perl -MNet::DNS -wle 'print $Net::DNS::VERSION'

--
Affijn, Ruud

"Gewoon is een tijger."

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2009 codecomments.com