I've had no issues with SpamAssassin. Here's how I do it:
As root, "perl -MCPAN -e shell" will load CPAN, which is an automated perl application compiling system, etc.
First, I recommend telling CPAN to "get Mail::SpamAssassin". This downloads SpamAssassin first, before installing it.
Then, in another window or shell, go to /root/.cpan/build/Mail-SpamAssassin-$VERSION$ (where $VERSION$ is the version it's currently at. Don't know? "ls" and look).
Now read the INSTALL file. I recommend going through installing ALL the requirements and optional software. If you don't know how or what, you can try to do it all within CPAN. It's really easy. It will say in the install document what to install. It's as easy as:
install Digest::SHA1
This is an example. So install all the required stuff and optional stuff you want BEFORE installing SpamAssassin.
After it does all the compiling for you, go ahead and quit CPAN.
Then you can add "/usr/bin/spamd -d" to your /etc/rc.d/rc.local to have the SpamAssassin daemon start up when you start up your computer. For now, since it's recently compiled, running that in a console as root will get it up and running right now.
From there, KMail (and Kontact) knows how to incorporate SpamAssassin. Or you can do it manually: there are documents online that show you how. Here's one I made myself:
TwinReverb - SpamAssassin Tutorial
It should work fine. Right now I'm busy but I'll try to remember to give it a re-read and make sure it's still the right way to do it. Thanks!