If you’re still running a CentOS 5.10 machine, you may notice that after recent updates SpamAssassin no longer works on your system. Trying to start it manually will get you a puzzling error:
# service spamassassin start Starting spamd: child process [12345] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588.
Manually running sa-update also triggers an error (albeit more detailed):
# sa-update Undefined subroutine &Scalar::Util::tainted called at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/File/Spec/Unix.pm line 152.
This is caused by a bad Scalar::Util binary being installed on the system.
The issue can be corrected by updating to the correct package:
cd ~ wget http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.39.tar.gz tar -xzf Scalar-List-Utils-1.39.tar.gz cd Scalar-List-Utils-1.39 perl Makefile.pl gmake gmake install
Now sa-update should run and spamassassin should start successfully.
PS: If the file URL becomes unavailable, search for the most recent package here: http://search.cpan.org/~pevans/Scalar-List-Utils-1.39/