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 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.
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
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.
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.
On Dec 30, 2004, at 7:47 AM, Johnny Hughes wrote:
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.
No, all the script does is test the ability to build a db4 perl object the same way Postgrey does. Dag tested it successfully on a real RHEL server.
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
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)...
-- 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@caosity.org http://lists.caosity.org/mailman/listinfo/centos
On Dec 30, 2004, at 11:23 AM, Denis Pilon wrote:
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";'
That's actually my test script (almost) verbatim. The "one-liner" was an oversimplified version. This also fails on my system.
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
Yes, I've also tried that one as well.
I'm curious. What versions of glibc, kernel and db4 are you currently running?
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
Here is is...
glibc-2.3.2-95.30 db4-4.1.25-8 kernel-2.4.21-27.0.1.EL
And is all works fine.
DP
Jason Dixon wrote:
On Dec 30, 2004, at 11:23 AM, Denis Pilon wrote:
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";'
That's actually my test script (almost) verbatim. The "one-liner" was an oversimplified version. This also fails on my system.
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
Yes, I've also tried that one as well.
I'm curious. What versions of glibc, kernel and db4 are you currently running?
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
On Dec 30, 2004, at 11:36 AM, Denis Pilon wrote:
Here is is...
glibc-2.3.2-95.30 db4-4.1.25-8 kernel-2.4.21-27.0.1.EL
And is all works fine.
Oh well. Thanks anyhoo. Maybe J. Hughes will dig something up. *shrug*
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net
On Thu, 2004-12-30 at 11:51 -0500, Jason Dixon wrote:
On Dec 30, 2004, at 11:36 AM, Denis Pilon wrote:
Here is is...
glibc-2.3.2-95.30 db4-4.1.25-8 kernel-2.4.21-27.0.1.EL
And is all works fine.
Oh well. Thanks anyhoo. Maybe J. Hughes will dig something up. *shrug*
For the record ... Denis' one liner worked for me, so I consider this a closed issue :)
Jason Dixon wrote:
On Dec 30, 2004, at 11:23 AM, Denis Pilon wrote:
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";'
That's actually my test script (almost) verbatim. The "one-liner" was an oversimplified version. This also fails on my system.
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
Yes, I've also tried that one as well.
I'm curious. What versions of glibc, kernel and db4 are you currently running?
what is the output of: ls -al /var/spool/postfix/postgrey/
On Dec 30, 2004, at 11:57 AM, Farkas Levente wrote:
what is the output of: ls -al /var/spool/postfix/postgrey/
Currently nothing. I've given up on this for now and am successfully using sqlgrey.
Thanks,
-- Jason Dixon DixonGroup Consulting http://www.dixongroup.net