On Tue, 2014-07-15 at 00:11 -0500, Chris wrote:
> dbg: plugin: loading Mail::SpamAssassin::Plugin::DCC
> from /usr/lib/perl5/site_perl/5.10.1/Mail/SpamAssassin/Plugin/DCC.pm

Debug states loading a plugin from "an explicitly given absolute
referenced file name", rather than resolving from @INC (in which case
there literally would be reported "from @INC").

> warn: plugin: failed to parse plugin 
> /usr/lib/perl5/site_perl/5.10.1/Mail/SpamAssassin/Plugin/DCC.pm:
> Can't locate /usr/lib/perl5/site_perl/5.10.1/Mail/SpamAssassin/Plugin/DCC.pm
> in @INC (you may need to install ...) (@INC contains: ...) at ...

Lint states the same. The explicitly given absolute referenced Perl
module cannot be parsed. Because it cannot be located.

The module unable to be located being prefixed with a full, absolute
path is another hint. Stock SA loadplugin lines are not absolute, but
relative.


The SA stock site configuration regarding DCC is in v310.pre, commented
out by default.

  #loadplugin Mail::SpamAssassin::Plugin::DCC

To enable DCC, un-comment, or add that option to a local .pre file.


What you have in your .pre (or .cf) site configuration is a custom
loadplugin option, with the perl module's path hardcoded.

  loadplugin Mail::SpamAssassin::Plugin::DCC 
/usr/lib/perl5/site_perl/5.10.1/Mail/SpamAssassin/Plugin/DCC.pm

The path is optional, and should only be given if absolutely necessary.
It certainly is not necessary with stock SA plugins. It isn't necessary
either with any plugin included in Perl @INC.

To find and correct this issue, grep in your site config dir:

  grep DCC *.pre *.cf

To find this and more similar issues:

  grep /usr/lib *.pre *.cf


> warn: plugin: failed to parse plugin /etc/spamassassin/clamav.pm:
> Can't locate File/Scan/ClamAV.pm in @INC ...

This is a relative path. You didn't install F::S::ClamAV after setting
up the new system.


> Any advice/assistance would be appreciated.

Glad to help.

Though grepping through your site config might have helped. Or carefully
revisiting the config inherited from an other (and older) system.


-- 
char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}

Reply via email to