I just updated my SpamAssassin to 3.3.1. Maybe not the correct place to mention it, but I find the perl -MCPAN -e shell not working very well. There was a message that the Perl version 5.8.6 was outdated, but I only saw it, because I was watching the output. With the very big stream of output, it was something that is easily overlooked. I had also to install a lot of modules by hand.
After the update to Perl 5.10.1 I get the message: Terminal does not support AddHistory. and cursor up for a previous given command does not work anymore. Very annoying. :-{ But those are things that are annoying, but not more. But when I now use: sa-learn --dump magic I get: ERROR: Bayes dump returned an error, please re-run with -D for more information so I used: sa-learn -D --dump magic which ends with: apr 2 10:02:19.394 [7291] dbg: plugin: Mail::SpamAssassin::Plugin::Bayes=HASH(0x8c63370) implements 'learner_is_scan_available', priority 0 apr 2 10:02:19.396 [7291] dbg: bayes: DB_File module not installed, cannot use bayes apr 2 10:02:19.398 [7291] dbg: config: score set 1 chosen. apr 2 10:02:19.399 [7291] dbg: sa-learn: spamtest initialized apr 2 10:02:19.403 [7291] dbg: plugin: Mail::SpamAssassin::Plugin::Bayes=HASH(0x8c63370) implements 'learner_dump_database', priority 0 apr 2 10:02:19.405 [7291] dbg: bayes: DB_File module not installed, cannot use bayes apr 2 10:02:19.407 [7291] dbg: plugin: Mail::SpamAssassin::Plugin::Bayes=HASH(0x8c63370) implements 'learner_close', priority 0 ERROR: Bayes dump returned an error, please re-run with -D for more information So I would think my problem is that I need to install DB_File. But when I do: install DB_File I get: Parsing config.in... Looks Good. Checking if your kit is complete... Looks good Writing Makefile for DB_File Could not read '/root/.cpan/build/DB_File-1.820-0nX4DL/META.yml'. Falling back to other methods to determine prerequisites cp DB_File.pm blib/lib/DB_File.pm AutoSplitting blib/lib/DB_File.pm (blib/lib/auto/DB_File) cc -c -I/usr/local/BerkeleyDB/include -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.820\" -DXS_VERSION=\"1.82\" -fPIC "-I/usr/local/lib/perl5/5.10.1/i686-linux/CORE" -D_NOT_CORE -DmDB_Prefix_t=size_t -DmDB_Hash_t=u_int32_t version.c version.c:30:16: db.h: No such file or directory make: *** [version.o] Error 1 PMQS/DB_File-1.820.tar.gz /usr/bin/make -- NOT OK Warning (usually harmless): 'YAML' not installed, will not store persistent state Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Failed during this command: PMQS/DB_File-1.820.tar.gz : make NO So it looks like I am missing a file version.c. What is happening here and what can I do about it? Also with the script I use to run sa-update I created a log file. When I do: grep 'not installed\|warning' sa-update.log I get: Apr 2 02:04:07.871 [4447] dbg: diag: [...] module not installed: DB_File ('require' failed) Apr 2 02:04:07.872 [4447] dbg: diag: [...] module not installed: Razor2::Client::Agent ('require' failed) Apr 2 02:04:07.873 [4447] dbg: diag: [...] module not installed: Net::Ident ('require' failed) Apr 2 02:04:20.519 [4447] dbg: config: warning: score set for non-existent rule SHORTCIRCUIT Apr 2 02:04:20.522 [4447] dbg: config: warning: score set for non-existent rule SUBJ_RE_NUM Apr 2 02:04:20.523 [4447] dbg: config: warning: score set for non-existent rule FM_VIAGRA_SPAM1114 Apr 2 02:04:20.529 [4447] dbg: config: warning: score set for non-existent rule AXB_HELO_LH_HOME Apr 2 02:04:20.533 [4447] dbg: config: warning: score set for non-existent rule ACCESSDB The first is the same as with sa-learn, but not fatal. When I give: i Razor2::Client::Agent I get: No objects found of any type for argument Razor2::Client::Agent When I give: install Net::Ident it ends with: Checking for Apache.pm... not found Writing Makefile for Net::Ident cp Ident.pm blib/lib/Net/Ident.pm Manifying blib/man3/Net::Ident.3 JPC/Net-Ident-1.20.tar.gz /usr/bin/make -- OK Warning (usually harmless): 'YAML' not installed, will not store persistent state Running make test PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/0use.t .... Net::Ident::_export_hooks() called too early to check prototype at /root/.cpan/build/Net-Ident-1.20-rn2JZt/blib/lib/Net/Ident.pm line 29. t/0use.t .... ok t/apache.t .. Net::Ident::_export_hooks() called too early to check prototype at /root/.cpan/build/Net-Ident-1.20-rn2JZt/blib/lib/Net/Ident.pm line 29. t/apache.t .. skipped: (no reason given) t/compat.t .. Net::Ident::_export_hooks() called too early to check prototype at /root/.cpan/build/Net-Ident-1.20-rn2JZt/blib/lib/Net/Ident.pm line 29. t/compat.t .. skipped: (no reason given) t/Ident.t ... Net::Ident::_export_hooks() called too early to check prototype at /root/.cpan/build/Net-Ident-1.20-rn2JZt/blib/lib/Net/Ident.pm line 29. t/Ident.t ... Failed 3/7 subtests Test Summary Report ------------------- t/Ident.t (Wstat: 0 Tests: 7 Failed: 3) Failed tests: 1-3 Files=4, Tests=8, 123 wallclock secs ( 0.33 usr 0.05 sys + 3.00 cusr 0.56 csys = 3.94 CPU) Result: FAIL Failed 1/4 test programs. 3/8 subtests failed. make: *** [test_dynamic] Error 255 JPC/Net-Ident-1.20.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports JPC/Net-Ident-1.20.tar.gz Warning (usually harmless): 'YAML' not installed, will not store persistent state Running make install make test had returned bad status, won't install without force Failed during this command: JPC/Net-Ident-1.20.tar.gz : make_test NO What is happening here? And what about the warnings avout 'score set for non-existent rule', is this something to worry about? -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof