If the SpamAssassin module fails to build, there are three probable reasons:
There is a missing dependency.
SpamAssassin has failed to build for some reason.
One or more automatic tests of the SpamAssassin module have failed.
In these conditions, CPAN will not install the module.
If a dependency is missing, it will be reported during the initial perl Makefile.PL
as a warning. If this dependency is not resolved, then when make test
is run, some tests for the module will probably fail. Additionally, the module may fail to operate properly if installed. The solution is to install the dependency and repeat the testing process. If SpamAssassin fails to build, this will probably be due to the non-compilation of the parts of SpamAssassin written in C. If this happens, the C compiler should be upgraded to a newer version.
Most Perl modules use a common build system that includes automatic tests. These tests are part of the package and the SpamAssassin module should pass all tests...