I note that this was brought up a few months ago, but never resolved, I thought it better to create a new thread than commit necromancy. I am using Sendmail and MailScanner on Centos4. Essentially spamassassin is running (spamd is running when I type service --status-all) but it is not doing anything, it is not even changing the headers. when I try to do anything (eg spamassassin -D < /foo/bar.msg) I get Code: [10066] warn: plugin: failed to parse plugin (from @INC): Bareword "Mail::SpamAssassin::Constants::CHARSETS_LIKELY_TO_FP_AS_CAPS" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Plugin/HeaderEval.pm line 968. [10066] warn: Compilation failed in require at (eval 85) line 1. [10066] warn: plugin: failed to create instance of plugin Mail::SpamAssassin::Plugin::HeaderEval: Can't locate object method "new" via package "Mail::SpamAssassin::Plugin::HeaderEval" at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Plugin/HeaderEval.pm line 39. [10066] warn: plugin: failed to parse plugin (from @INC): "CHARSETS_LIKELY_TO_FP_AS_CAPS" is not exported by the Mail::SpamAssassin::Constants module [10066] warn: Can't continue after import errors at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Plugin/MIMEEval.pm line 22 [10066] warn: BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Plugin/MIMEEval.pm line 22. [10066] warn: Compilation failed in require at (eval 87) line 1. [10066] warn: plugin: failed to create instance of plugin Mail::SpamAssassin::Plugin::MIMEEval: Can't locate object method "new" via package "Mail::SpamAssassin::Plugin::MIMEEval" at (eval 88) line 1. [10066] warn: config: configuration file "/usr/share/spamassassin/20_dynrdns.cf" requires version 3.002005 of SpamAssassin, but this is code version 3.001009. Maybe you need to use the -C switch, or remove the old config files? Skipping this file at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/Conf/Parser.pm line 345. [10066] warn: config: configuration file "/usr/share/spamassassin/72_active.cf" requires version 3.002005 of SpamAssassin, but this is code version 3.001009. Maybe you need to use the -C switch, or remove the old config files? Skipping this file at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/Conf/Parser.pm line 345. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 446) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 446) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 446) line 7. [10066] warn: syntax error at (eval 446) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 447) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 447) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 447) line 7. [10066] warn: syntax error at (eval 447) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 448) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 448) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 448) line 7. [10066] warn: syntax error at (eval 448) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 449) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 449) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 449) line 7. [10066] warn: syntax error at (eval 449) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 450) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 450) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 450) line 7. [10066] warn: syntax error at (eval 450) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 451) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 451) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 451) line 7. [10066] warn: syntax error at (eval 451) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 452) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 452) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 452) line 7. [10066] warn: syntax error at (eval 452) line 11, near "; [10066] warn: }" [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/PerMsgStatus.pm line 2669. [10066] warn: Number found where operator expected at (eval 453) line 10, near "} [10066] warn: [10066] warn: 1" [10066] warn: (Missing operator before [10066] warn: [10066] warn: 1?) [10066] warn: rules: failed to run header tests, skipping some: syntax error at (eval 453) line 6, at EOF [10066] warn: Global symbol "$plugin" requires explicit package name at (eval 453) line 7. [10066] warn: syntax error at (eval 453) line 11, near "; [10066] warn: }" [10066] warn: lint: 10 issues detected, please rerun with debug enabled for more information Any Ideas?
You can use the Perl shell: Code: perl -MCPAN -e shell Then run Code: install Mail::SpamAssassin on the Perl shell. This will automatically update SpamAssassin to the latest version. Afterwards, type Code: q to leave the Perl shell.
Hmm...I did that and it appear to have achieved anything. I still get that message if I do anything like Any other suggestions?
that's fine, then I reinstalled spamassassin 3.2.5 using make. now if I run Code: [root@bor /]# spamassassin -D < /home/temp/test.msg then it gives (what looks to me like) a healthy response but it is not running I try "service spamd start" and "service spamassassin start" and both come back saying unrecognised service. not to be beaten I run "spamd -d" in an attempt to kick start it. It is not shown as running as a service still and it is still not putting anything in the headers of any emails. Thanks for your help so far.... got any more?
By uninstalling the rpm package, you've also removed the init script from /etc/init.d (compiling SpamAssasson does not create a new init script). You can try to write a simple init script yourself or google for a sample init script.
not getting any changes in the email makes sense if your email system is not setup to send the email through the spamd process. if " spamd -d " doesn't give an error message, it should be running as a process. try the command "ps ax | grep spam" after you run "spamd -d" and post the output.