我正在尝试按照此处的指南安装 Amavis、SpamAssassin + ClamAV...
http://wiki.centos.org/HowTos/Amavisd
一切进展顺利,但 Amavisd 却无法启动……
# service amavisd start
Starting Mail Virus Scanner (amavisd): ERROR: MISSING REQUIRED BASIC MODULES:
Unix::Syslog
BEGIN failed--compilation aborted at /usr/sbin/amavisd line 237.
[FAILED]
我在 perl 命令行安装了 Unix Syslog......
# perl -MCPAN -e shell
cpan[1]> install Unix::Syslog
但这会导致 BerkeleyDB 路径出现错误...
# service amavisd start
Starting Mail Virus Scanner (amavisd): Problem in Amavis::DB or Amavis::DB::SNMP code: Can't locate BerkeleyDB.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5) at (eval 82) line 19.
BEGIN failed--compilation aborted at (eval 82) line 19.
我的发行版的 BerkeleyDB 文件安装在...
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/
我读了一些资料,发现更改 @INC 似乎并不容易 - 我需要直接在 perl 脚本中添加“use lib” - 修改 Amavis/BerkeleyDB 似乎不是明智或正确的方法。所以我尝试将 BerkelyDB 文件移动到...
/usr/share/perl5/vendor_perl
位于 @INC 路径中。这几乎成功了,但现在我得到了...
# service amavisd start
Starting Mail Virus Scanner (amavisd): /usr/bin/perl: symbol lookup error: /usr/share/perl5/vendor_perl/auto/BerkeleyDB/BerkeleyDB.so: undefined symbol: Perl_Tstack_sp_ptr
[FAILED]
我确信我走错了路。我是 perl 新手,但 yum 安装将 BerkeleyDB 文件放在 perl 无法访问的地方,这似乎很奇怪。希望有人能解决我的困境。
非常感谢!