I have just recently installed SA v3.3.0-rc1 on Solaris 10. I have discovered that in order for syslog logging to work, I have to start spamd with the switch "--syslog-socket=native". It won't work if I set it to "unix" or "inet" or if I omit the switch entirely. As this is my first time running SpamAssassin on Solaris 10, I don't know if this discovery also applies to older SpamAssassin versions, but I suspect it does. I suggest the documentation be changed to reflect this, since currently it does not even mention "native" as a legitimate option.
In the long term, perhaps "native" can be made the default, or have the code just not call setlogsock() if the --syslog-socket switch is absent. (I don't know if this is feasible with older versions of Sys::Syslog.) This is what the current docs say: --syslog-socket=*type* Specify how spamd should send messages to syslogd. The options are "unix", "inet" or "none". The default is to try "unix" first, falling back to "inet" if perl detects errors in its "unix" support. Some platforms, or versions of perl, are shipped with dysfunctional versions of the Sys::Syslog package which do not support some socket types, so you may need to set this. If you get error messages regarding __PATH_LOG or similar from spamd, try changing this setting.