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? Thanks, -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
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?
On Dec 30, 2004, at 10:57 AM, William Warren wrote:> this is very interesting to watch. It has been growing rapidly with > several fizes that are working. > > Jason Dixon wrote: >> Update on this issue. I think it might have something to do with the >> following bug in Red Hat bugzilla: >> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=91933 >> It appears to have something to do with some combination of NTPL and >> errata versions of the kernel, db4 and glibc packages. I've rebooted >> into the older kernel (2.4.21-20), but that didn't help. I'm using >> the original db4 (4-4.1.25) from WBEL, and I'm rebuilding >> glibc-2.3.2-95.20 from source rpm. I'm dreading the thought of >> forcing an older glibc into place, but I'm hopeful that might fix it. >> Updates to follow (assuming my server survives the process)...I hate to disappoint anyone following this thread, but I think I'm going to drop the issue for now and re-migrate back to CentOS. I've found a working replacement for Postgrey in using sqlgrey (http://sqlgrey.sourceforge.net/) that appears to be working quite well (doesn't use db4). I'll continue to follow the issue with earnest, hopefully someone else will be able to offer some final insight. Perhaps I'll take the cause back up on a test system. -- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Args are always a good thing....try the following: perl -e 'use BerkeleyDB; my $db = BerkeleyDB::Env->new(-Home => "/var/tmp/", -Flags => DB_CREATE|DB_RECOVER|DB_INIT_TXN|DB_INIT_MPOOL|DB_INIT_LOG, -SetFlags => DB_AUTO_COMMIT|DB_TXN_NOSYNC,) or die "blah";' And it now works....i think your postgrey version is old.... did you try this version... http://www.lfarkas.org/linux/packages/el3/i386/SRPMS/postgrey-1.17-0.src.rpm DP 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? > > Thanks, > > -- > Jason Dixon > DixonGroup Consulting > http://www.dixongroup.net > > _______________________________________________ > CentOS mailing list > CentOS at caosity.org > http://lists.caosity.org/mailman/listinfo/centos