# amavisd can't be started



## xwwu (Jan 20, 2009)

Dear All:

When I
/usr/local/etc/rc.d/amavisd start
Starting amavisd.
ERROR: MISSING REQUIRED BASIC MODULES:
  Compress::Zlib
BEGIN failed--compilation aborted at /usr/local/sbin/amavisd line 234.

But p5-Compress-Zlib gas been installed.

Help me please! Thanks!


----------



## DutchDaemon (Jan 20, 2009)

Did you upgrade Perl recently without perl-after-upgrade?


----------



## xwwu (Jan 20, 2009)

portsnap and portupgrade whole system. I think perl is update.


----------



## DutchDaemon (Jan 20, 2009)

Try running *perl-after-upgrade* first. If that doesn't solve things, do a *portupgrade -f p5**.


----------



## xwwu (Jan 20, 2009)

Thaks very much. perl-after-upgrade can be done. But amavisd-new still no work. if 
portupgrade -f p5-*
portupgrade No match.

Why?


----------



## DutchDaemon (Jan 20, 2009)

Strange. Works for me. Does *pkg_info | grep ^p5-* show p5 ports?


----------



## xwwu (Jan 20, 2009)

# pkg_info | grep ^p5-
p5-Archive-Tar-1.42 Perl module for creation and manipulation of tar files
p5-Archive-Zip-1.26 Perl module to create, manipulate, read, and write Zip arch
p5-Authen-PAM-0.16_1 A Perl interface to the PAM library
p5-BerkeleyDB-0.36  Perl5 interface to the Berkeley DB package
p5-Compress-Raw-Bzip2-2.015 Low-Level Interface to bzip2 compression library
p5-Compress-Raw-Zlib-2.015 Low-Level Interface to zlib compression library
p5-Compress-Zlib-2.015 Perl5 interface to zlib compression library
p5-Convert-BinHex-1.119 Perl module to extract data from Macintosh BinHex files
p5-Convert-TNEF-0.17 Perl module to read TNEF files
p5-Convert-UUlib-1.12,1 Perl5 interface to the uulib library (a.k.a. uudeview/uuenv
p5-Crypt-CBC-2.30   Perl5 interface to Cipher Block Chaining with DES and IDEA
p5-Crypt-DES-2.05   Perl5 interface to DES block cipher
p5-Crypt-OpenSSL-Bignum-0.04 OpenSSL's multiprecision integer arithmetic
p5-Crypt-OpenSSL-RSA-0.25 Perl5 module to RSA encode and decode strings using OpenSSL
p5-Crypt-OpenSSL-Random-0.04 Perl5 interface to the OpenSSL pseudo-random number generat
p5-DBD-mysql-4.006  MySQL driver for the Perl5 Database Interface (DBI)
p5-DBI-1.60.4       The perl5 Database Interface.  Required for DBD::* modules
p5-Digest-HMAC-1.01 Perl5 interface to HMAC Message-Digest Algorithms
p5-Digest-MD5-2.38  Perl5 interface to the MD5 algorithm
p5-Digest-SHA-5.47  Perl extension for SHA-1/224/256/384/512
p5-Digest-SHA1-2.11 Perl interface to the SHA-1 Algorithm
p5-Encode-Detect-1.01 An Encode::Encoding subclass that detects the encoding of d
p5-Error-0.17015    Perl module to provide Error/exception support for perl: Er
p5-ExtUtils-CBuilder-0.24 Compile and link C code for Perl modules
p5-ExtUtils-ParseXS-2.19 Converts Perl XS code into C code
p5-File-Temp-0.20   Perl5 module to generate temporary files or directories saf
p5-File-Which-0.05  Portable implementation of `which' in Perl
p5-HTML-Parser-3.59 Perl5 module for parsing HTML documents
p5-HTML-Tagset-3.20 Some useful data table in parsing HTML
p5-IO-Compress-Base-2.015 Base Class for IO::Uncompress modules
p5-IO-Compress-Bzip2-2.015 An interface to allow writing bzip2 compressed data to file
p5-IO-Compress-Zlib-2.015 Perl5 interface for reading and writing of (g)zip files
p5-IO-Multiplex-1.10 IO::Multiplex - Manage IO on many file handles
p5-IO-Socket-INET6-2.56 Perl module with object interface to AF_INET6 domain socket
p5-IO-Socket-SSL-1.19 Perl5 interface to SSL sockets
p5-IO-String-1.08   Simplified Perl5 module to handle I/O on in-core strings
p5-IO-Zlib-1.09     IO:: style interface to Compress::Zlib
p5-IO-stringy-2.110 Perl5 module for using IO handles with non-file objects
p5-MIME-Base64-3.07 Perl5 module for Base64 and Quoted-Printable encodings
p5-MIME-Tools-5.427,2 A set of perl5 modules for MIME
p5-Mail-DKIM-0.32_1 Perl5 module to process and/or create DKIM email
p5-Mail-SPF-2.005   Reference implementation of the RFC 4408 SPF protocol
p5-Mail-SPF-Query-1.999.1 Query Sender Permitted From for an IP,email,helo
p5-Mail-SpamAssassin-3.2.5_1 A highly efficient mail filter for identifying spam
p5-Mail-Tools-2.04  Perl5 modules for dealing with Internet e-mail messages
p5-Math-BigInt-1.89 Math::BigInt - Arbitrary size integer math package
p5-Module-Build-0.30 Build and install Perl modules
p5-Net-CIDR-Lite-0.20 Perl extension for merging IPv4 or IPv6 CIDR addresses
p5-Net-DNS-0.64     Perl5 interface to the DNS resolver, and dynamic updates
p5-Net-DNS-Resolver-Programmable-0.003 Programmable DNS resolver for off-line testing
p5-Net-IP-1.25      Perl extension for manipulating IPv4/IPv6 addresses
p5-Net-SNMP-5.2.0   A perl module for SNMP... Net::SNMP
p5-Net-SSLeay-1.35  Perl5 interface to SSL
p5-Net-Server-0.97  A configurable base class for writing internet servers in P
p5-NetAddr-IP-4.02.2 Perl module for working with IP addresses and blocks thereo
p5-Package-Constants-0.02 List all constants declared in a package
p5-PathTools-3.2900 A Perl module for portably manipulating file specifications
p5-Pod-Parser-1.35_2 Modules to work with POD (Plain Old Documentation)
p5-SNMP_Session-1.12 A perl5 module providing rudimentary access to SNMPv1 and v
p5-Socket6-0.23     IPv6 related part of the C socket.h defines and structure m
p5-Spiffy-0.30      Spiffy Perl Interface Framework For You
p5-Storable-2.18    Persistency for perl data structures
p5-Sys-Hostname-Long-1.4 Try every conceivable way to get full hostname
p5-Test-Base-0.55   Test::Base - A Data Driven Testing Framework
p5-Test-Simple-0.86 Basic utilities for writing tests in perl
p5-Time-HiRes-1.9719,1 A perl5 module implementing High resolution time, sleep, an
p5-TimeDate-1.16,1  Perl5 module containing a better/faster date parser for abs
p5-URI-1.37         Perl5 interface to Uniform Resource Identifier (URI) refere
p5-Unix-Syslog-1.1  Perl5 interface to the UNIX syslog(3) calls
p5-YAML-0.68        YAML implementation in Perl
p5-gettext-1.05_2   Message handling functions
p5-libwww-5.823     Perl5 library for WWW access
p5-version-0.76     Perl extension for Version Objects


----------



## DutchDaemon (Jan 20, 2009)

Well, if portupgrade -f p5* still doesn't work, you may try several things:


```
mv /var/db/pkg/pkgdb.db /var/db/pkg/pkgdb.db.old && pkgdb -u && portupgrade -f p5*
```


```
pkgdb -F && portupgrade -f p5*
```


```
pkg_info | grep ^p5- | awk '{print $1}' | xargs portupgrade -f (note: it can take several minutes to start running, be patient)
```


----------



## xwwu (Jan 20, 2009)

Thanks!
upgrade for p5-* is going right now. I will try amavisd-new then.


----------



## xwwu (Jan 20, 2009)

amavisd-new works!
Thanks so much!


----------



## DutchDaemon (Jan 20, 2009)

Good. I noticed recently that perl-after-upgrade didn't sufficiently update/migrate all of the perl-5.8.8 modules to perl-5.8.9. I had to portupgrade -f p5* to get everything re-installed under perl-5.8.9 as well. So if anyone gets bitten by suddenly missing p5 modules that really are installed, take the road described above. It usually doesn't take more than 15-20 minutes on reasonable hardware to do that.


----------



## xwwu (Jan 20, 2009)

You are right. I hope FreeBSD team can pay more attention to this important issue and let next release version more reliable. 

Thanks again!


----------



## gok (Apr 19, 2009)

xwwu said:
			
		

> Thaks very much. perl-after-upgrade can be done. But amavisd-new still no work. if
> portupgrade -f p5-*
> portupgrade No match.
> 
> Why?




portupgrade -f p5-\*

;-)


----------



## twiddler (May 2, 2009)

I've had luck with

portupgrade -f 'p5-*'


----------

