Ken Morley
Ken@jmtg.com
Wed, 25 Oct 2006 22:35:24 -0400
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