MC,

> I'm using FreeBSD 6.2 with latest port upgrades and with following
> packages:
> amavisd-new-2.5.0,1
> p5-Mail-SpamAssassin-3.2.0
> postfix-2.4.3,1
> file-4.21
>
> Installation was made from ports with 'make install clean' in
> /usr/ports/security/amavisd-new/ directory which installed everything
> including dependencies. I'm calling SA with Amavisd-new running like vscan
> user and vscan group. The system was just installed so no old files are
> involved in this.

I tried a fresh install from ports, works fine here.
Btw, amavisd-new from ports is now at 2.5.1,
although this should not affect your immediate problem.

> 'Spamassassin -lint -D' is fine

Always run 'spamassassin' command as user vscan.
(otherwise it might see other directories or setting and you get
different results, or it may clobber ownerships of some files
like a bayes db)

> When I'm trying to start amavisd-new, the problem start with this:
>
> [45082] dbg: ignore: test message to precompile patterns and load modules
> config: could not find site rules directory

Yes, this is the main issue here.

> I have the feeling that amavisd cannot not read the files within
> /usr/local/etc/mail/spamassassin .

If it could not read it, it would report access violation.

More likely it does not know where to look, as if the
default for LOCAL_RULES_DIR were not established during a
'make' phase of the installation.

Go to the ports directory and do a 'make clean' and a 'make' again,
paying attention that the following line scrolls by (wrapped here
for clarity):

/usr/local/bin/perl5.8.8 build/preprocessor
 -Mconditional -Mvars
 -DVERSION="3.002000" -DPREFIX="/usr/local"
 -DDEF_RULES_DIR="/usr/local/share/spamassassin"
 -DLOCAL_RULES_DIR="/usr/local/etc/mail/spamassassin"
 -DLOCAL_STATE_DIR="/var/db/spamassassin"
 <lib/Mail/SpamAssassin.pm >blib/lib/Mail/SpamAssassin.pm

It is essential that the file SpamAssassin.pm receives a proper
default for LOCAL_RULES_DIR.

After a 'make install' you may check if this was indeed the case:
see file /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin.pm,
somewhere near line 333 there should be:

  # if the libs are installed in an alternate location, and the caller
  # didn't set PREFIX, we should have an estimated guess ready, values
  # substituted at 'make' time
  $self->{PREFIX}               ||= '/usr/local';
  $self->{DEF_RULES_DIR}        ||= '/usr/local/share/spamassassin';
  $self->{LOCAL_RULES_DIR}      ||= '/usr/local/etc/mail/spamassassin';
  $self->{LOCAL_STATE_DIR}      ||= '/var/db/spamassassin';

Later on in 'sub sed_path' the string __local_rules_dir__ should
be replaced by $self->{LOCAL_RULES_DIR}, which should then be
the directory where 'sub init' in SpamAssassin.pm should look
for *.pre files:

    $siterules ||= $self->first_existing_path (@site_rules_path);


Mark

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
AMaViS-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amavis-user
AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
AMaViS-HowTos:http://www.amavis.org/howto/

Reply via email to