On Thu, 2004-12-30 at 06:14 -0600, Johnny Hughes wrote:
On Thu, 2004-12-30 at 06:25 -0500, Jason Dixon wrote:
On Dec 30, 2004, at 4:29 AM, Johnny Hughes wrote:
On Thu, 2004-12-30 at 00:03 -0500, Jason Dixon wrote:
Hi folks:
I've recently migrated one of my production servers (bad Jason!) from WBEL to CentOS 3.3 using Donavan's instructions in the FAQ (http://www.centos.org/modules/smartfaq/faq.php?faqid=19). While it was as painless as the document suggests, I've run into problems with postgrey (a postfix greylisting daemon) on my server. Whenever I try to start postgrey, I get the following error (trimmed from maillog):
ERROR: can't create DB environment: No such file or directory
A little research led me to find the error was caused by a call to BerkeleyDB::Env->new() in postgrey. I can recreate it in a simple Perl one-liner:
perl -e 'use BerkeleyDB; my $db = BerkeleyDB::Env->new() or die "blah";'
This leads me to believe that something is wrong with db4, so I upgraded (--force) to the CentOS db4 package. Unfortunately, this had no effect. Speaking with Dag in IRC a couple nights back, he believes my only recourse may be to "pin" my apt sources and attempt to upgrade all of my WBEL-based packages to their CentOS counterparts. I would really like to avoid this; if necessary, I think I'd prefer to try and upgrade from the 3.3 ISO.
Anyone have any thoughts or suggestions on this?
I've upgraded more than a dozen machines from WBEL to CentOS-3 ... and I haven't had any problems. I don't have the perl module "BerkeleyDB.pm" on any of my machines though...nor is it on my CentOS-4beta "Full Install" machine that I use as a build machine for CentOS-4beta. What package installs it?
The perl-BerkeleyDB package over at Dag's repository. I've tried reinstalling it from source rpm and the db4 package from CentOS, but that doesn't help.
At this point, I wonder if it would be a magnificent disaster to just download all the base rpm's, the updates rpm's, and just do a massive "rpm -Fvh --force" on everything.
I would think you only need to replace any packages that say .WBx or whitebox with items from the centos hive ... all the others should be the same between distros.
I wonder if rebuilding db4 from source on a machine where BerkeleyDB is installed would have any impact (maybe db4 does something differently in .configure if it is installed) ... OR maybe install BerkeleyDB from CPAN.
Actually, I rebuilt from source and installed from Dags repo the package perl-BerkeleyDB-0.26-1.dag.src.rpm and I get this on CentOS-3.3:
command -> perl -e 'use BerkeleyDB; my $db = BerkeleyDB::Env->new() or die "blah";'
result -> blah at -e line 1.
so it doesn't work for me either on CentOS 3.3
I am currently rebuilding the db4 srpm...I'll post my results.
I'm not a BerkeleyDB expert ... do I need to do something first, before I run your test script (maybe build a new db).
I get the same error if I use CPAN to install BerkeleyDB 0.26 ... OR if I install from DAGs sources. This is even after I rebuild and reinstall db4 from source.