Amavisd failed to restart due to BerkeleyDB, libdb, and db.h incompatibility

後藤 潔 gotow at seitoku.ac.jp
Wed Nov 1 00:49:11 UTC 2017


After upgrade to the latest ports except apache2 2.4.29_0, amavisd failed to restart. Terminal messages are as follows.

----- start of messages

$ sudo amavisd restart
Password:
Problem in Amavis::DB or Amavis::DB::SNMP code: 
BerkeleyDB needs compatible versions of libdb & db.h
	you have db.h version 5.3.21 and libdb version 5.3.28
Compilation failed in require at (eval 79) line 20.
BEGIN failed--compilation aborted at (eval 79) line 20.

----- end of messages

Amavisd is currently working.

$ ps aux | grep amavisd | grep -v grep
_amavisd       32094   0.0  0.7  2561356  61540   ??  S     1:20PM   0:00.69 /opt/local/sbin/amavisd (ch8-avail)   
_amavisd       31901   0.0  0.8  2562380  65112   ??  S     1:10PM   0:01.00 /opt/local/sbin/amavisd (ch10-avail)   
_amavisd       42175   0.0  0.5  2559996  38608   ??  Ss    21017    0:31.31 /opt/local/sbin/amavisd (master) 

The current versions on my server are as follows.

OS: Mac OSX 10.8.5
MacPorts base: 2.4.2
amavisd-new @2.10.1_5+perl5_24
p5.24-mail-spamassassin @3.4.1_3
perl5 @5.24.2_0+perl5_24
perl5.24 @5.24.2_0
db53 @5.3.28_0+sql
sqlite3 @3.21.0_0

I have tried to uninstall and reinstall the related ports, but in vain.

Downgrading db53 to 5.3.21_3+sql from 5.3.28_0+sql, amavisd successfully restarted. The terminal messages are as follows.

----- start of messages

$ sudo port deactivate db53 @5.3.28_0+sql
Password:
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break: p5.24-berkeleydb @0.550.0_0
Continue? [y/N]: y
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Deactivating db53 @5.3.28_0+sql
--->  Cleaning db53
$ sudo port activate db53 @5.3.21_3+sql
--->  Activating db53 @5.3.21_3+sql
--->  Cleaning db53
$ sudo amavisd restart
Daemon [42175] terminated by SIGTERM, waiting for dust to settle...
becoming a new daemon...
$ ps aux | grep amavisd | grep -v grep
_amavisd       34278   0.0  0.1  2562792   8660   ??  S     2:53PM   0:00.01 /opt/local/sbin/amavisd (virgin child)   
_amavisd       34277   0.0  0.1  2562792   8536   ??  S     2:53PM   0:00.01 /opt/local/sbin/amavisd (virgin child)   
_amavisd       34276   0.0  0.8  2561432  70388   ??  Ss    2:53PM   0:01.16 /opt/local/sbin/amavisd (master) 

----- end of messages

Any suggestions or advices are wellcome.

=====
Kiyoshi Gotow


More information about the macports-users mailing list