Can't exec dccproc - I think the paths are messed up...

Ken Morley Ken@jmtg.com
Thu Oct 26 02:35:24 UTC 2006


Jeff:

Thanks very much for the responses. For the record, I did read the
documentation cover-to-cover before posting.  In my experience, that's
always the simplest, most expedient and simplest way of solving common
problems with any product.  Also, I downloaded the source from
www.rhyolite.com.  Finally, I apologize for screwing up the first post
with formatting.  I though that I'd left Outlook in "text only" mode.
Doh!

I had already figured out that the error was not about dccproc being
able to find Util.pm, but rather that Util.pm line 1382 was outputting
something bogus.  Line 1382 is: exec @cmdline;  

I changed this to a "warn @cmdline" and the debug log changed to:
[11786] dbg: dcc: got response: /usr/bin/dccproc-H-x0 at
/usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Util.pm line 1382.

I then tried your excellent suggestion about hand-feeding dccproc.  I
typed:
   /usr/bin/dccproc -H -x 0 <
/var/amavisd/tmp/.spamassassin117863PFFGstmp 

And the result was:
   -bash: /var/amavisd/tmp/.spamassassin117863PFFGstmp: No such file or
directory

When I checked, that file doesn't exist, so I tried a file that DOES
exist:
   /usr/bin/dccproc -H -x 0 <
/var/amavisd/tmp/amavis-20061025T210001-03556/email.txt

And the result was: -bash: /usr/bin/dccproc: No such file or directory

Then I figured it out.  I had assumed that the /usr/bin was relative
because of the chroot (the absolute path would be
/var/amavisd/usr/bin/dccproc).  It's not.  At least when amavisd is
running in debug mode, it's not using the chroot for dccproc.  It's
really trying to run dccproc from absolute path /usr/bin/.  On my
system, dccproc is in /usr/local/bin - Util.pm simply couldn't find
dccproc!

So, I tried:
   /usr/local/bin/dccproc -H -x 0 <
/var/amavisd/tmp/amavis-20061025T210001-03556/email.txt

And the result was: 
   X-DCC-CollegeOfNewCaledonia-Metrics: maildrop.*munged*.local 1189;
Body=1 Fuz1=1 Fuz2=27

Tomorrow I'll figure out how to fix it.  Thanks very, very much for the
excellent suggestions!  Again, I apologize for the first post being all
MS-ed up.

Thanks again!

Ken



-----Original Message-----
From: Jeff Mincy [mailto:mincy@rcn.com] 
Sent: Wednesday, October 25, 2006 9:13 PM
To: Ken Morley
Cc: dcc@rhyolite.com
Subject: Re: Can't exec dccproc - I think the paths are messed up...

On 25 Oct 2006, Ken@jmtg.com wrote:

> I am trying to install DCC on a CentOS 4.3 system, which is almost 
> identical to RHEL4 QU3.  DCC will be running in conjunction with 
> Amavisd in a chrooted environment.  The instructions that I'm working 
> from are for OpenBSD and so some of the file paths are a little 
> different between the two.  The instructions show to configure and 
> make without any command-line switches, just using defaults.  
> Afterwards, the files are supposed to be manually copied from /var/dcc

> to /var/amavisd/var and from /usr/local/bin/dccproc to 
> /var/amavisd/usr/bin (/var/amavisd is the chroot jail).
>
> When I start amavisd in debug mode I see the following in the log.
> The problem is the sixth line down:
>
> [3141] dbg: dcc: dccproc is available: /usr/bin/dccproc ...
>
> [3141] dbg: dcc: got response: Can't exec "/usr/bin/dccproc": No such 
> file or directory at 
> /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Util.pm line 1382.
>
> [3141] dbg: info: leaving helper-app run mode
>
> [3141] dbg: dcc: check failed: no X-DCC returned (did you create a map
> file?): Can't exec "/usr/bin/dccproc": No such file or directory at 
> /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Util.pm line 1382.
>

> I think that the problem is that dccproc is trying to open 
> /usr/lib/perl5/site_perl/5.8.5/Mail/SpamAssassin/Util.pm and that's a 
> bad path (with the "site_perl" in the middle like that.  How do I 
> adjust dccproc to reference the correct path?

You are misreading the error message.  Those 'dbg:' messages are printed
by SpamAssassin.  SpamAssassin is executing dccproc.  There is something
wrong with /usr/bin/dccproc - Perhaps a bad link or the file does not
exist or bad permissions (etc).

Either make sure that dccproc is correctly installed in /usr/bin, or
change the dcc_path in your SpamAssassin local.cf configuration file,
eg:
  dcc_path /usr/local/bin/dccproc

You should be able to feed a message by hand into dccproc, eg:
  /usr/bin/dccproc -H -x 0 < msg
and you should get a X-DCC header.

-jeff




More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.