Hello all: I am trying to run a Cyrus Admin tool that requires the use of Berkeley DB files I believe. When I run a perl script I get an error indicating that "db_version()" is unresolved. Some research has led me to the possibility that I may have two versions of Berkeley DB installed... one that supports db_version() and one that doesn't. And of course the references to the libraries that the system has set up must point to the version that doesn't db_version. Anyways, its suggested that there is a way to compile ( configure.in ) applications and set some LIB dir etc to use the correct version. Couple questions.. 1- How do I know which versions of the Perl interface Berkeley DB I have installed and where they live? 2- Is this likely an issue not with the Perl interface but with the version of the actual BerkeleyDB libraries that I am running. As far as I know, I am running the components that came with SuSE 8.1 And finally the error that I get from the Perl program is: jrn@falcon:~> cyradm Can't load '/usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/auto/Cyrus/IMAP/IMAP.so' for module Cyrus::IMAP: /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/auto/Cyrus/IMAP/IMAP.so: undefined symbol: db_version at /usr/lib/perl5/5.8.0/i586-linux-thread-multi/DynaLoader.pm line 229. at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Admin.pm line 44 Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Admin.pm line 44. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Admin.pm line 44. Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Shell.pm line 60. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/Cyrus/IMAP/Shell.pm line 60. Compilation failed in require. BEGIN failed--compilation aborted. Any ideas? Thanks, Jim
On Thu, 19 Jun 2003 16:48:19 -0700 (PDT) jrn@oregonhanggliding.com (Jim Norton) wrote:
Hello all:
I am trying to run a Cyrus Admin tool that requires the use of Berkeley DB files I believe.
When I run a perl script I get an error indicating that "db_version()" is unresolved. Some research has led me to the possibility that I may
Any ideas?
I would get the Berkeley Database Source from http://sleepycat.com and compile it yourself. It is a very clean package and should compile without problems. After you compile the c package, install it, then build the perl component in the perl subdirectory. It's easy, perl Makefile.pl make make test make install P.S. (Some other considerations) You may run into problems later with errors around "db.h", because suse's db.h is in /usr/include where the new db.h will be in /usr/local/BerkeleyDb4.1/include. So you may need to adjust your incude paths when compiling, or just copy the new one over the old. So just "remember" you installed a new db package. It might work better just to uninstall SuSE's Berkeleydb rpm first. -- use Perl; #powerful programmable prestidigitation
participants (2)
-
jrn@oregonhanggliding.com
-
zentara