Perl / BerkelyDB @INC 尝试安装 Amavisd-new (CentOS) 时遇到问题

Perl / BerkelyDB @INC 尝试安装 Amavisd-new (CentOS) 时遇到问题

我正在尝试按照此处的指南安装 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 无法访问的地方,这似乎很奇怪。希望有人能解决我的困境。

非常感谢!

相关内容