• Home
  • History
  • Annotate
  • only in this directory
NameDateSize

..09-Apr-20134

BerkeleyDB/H02-May-20174

BerkeleyDB.pmH A D19-Dec-201134.7 KiB

BerkeleyDB.podH A D19-Dec-201154.5 KiB

BerkeleyDB.pod.PH A D19-Dec-201148.5 KiB

BerkeleyDB.xsH A D19-Dec-2011117.9 KiB

ChangesH A D19-Dec-201111.3 KiB

config.inH A D19-Dec-20111.3 KiB

constants.hH A D19-Dec-2011159.7 KiB

constants.xsH A D19-Dec-20112.5 KiB

dbinfoH A D19-Dec-20113.2 KiB

hints/H02-May-20175

Makefile.PLH A D19-Dec-20113.1 KiB

MANIFESTH A D19-Dec-2011853

META.ymlH A D19-Dec-2011420

mkconstsH A D19-Dec-201129.9 KiB

mkpodH A D19-Dec-20113 KiB

patches/H02-May-201713

ppport.hH A D19-Dec-20118.7 KiB

READMEH A D19-Dec-201124.3 KiB

scanH A D19-Dec-20115.5 KiB

t/H02-May-201730

TodoH A D19-Dec-20111.4 KiB

typemapH A D19-Dec-20118.2 KiB

README

1                                BerkeleyDB
2
3                               Version 0.34
4
5                              27th March 2008
6
7     Copyright (c) 1997-2008 Paul Marquess. All rights reserved. This
8      program is free software; you can redistribute it and/or modify
9                  it under the same terms as Perl itself.
10
11
12DESCRIPTION
13-----------
14
15BerkeleyDB is a module which allows Perl programs to make use of the
16facilities provided by Berkeley DB version 2 or greater. (Note: if
17you want to use version 1 of Berkeley DB with Perl you need the DB_File
18module).
19
20Berkeley DB is a C library which provides a consistent interface to a
21number of database formats. BerkeleyDB provides an interface to all
22four of the database types (hash, btree, queue and recno) currently
23supported by Berkeley DB.
24
25For further details see the documentation in the file BerkeleyDB.pod.
26
27PREREQUISITES
28-------------
29
30Before you can build BerkeleyDB you need to have the following
31installed on your system:
32
33    * To run the test harness for this module, you must make sure that the
34      directory where you have untarred this module is NOT a network
35      drive, e.g. NFS or AFS.
36
37    * Perl 5.004_04 or greater.
38
39    * Berkeley DB Version 2.6.4 or greater
40
41      The official web site for Berkeley DB is 
42
43        http://www.oracle.com/technology/products/berkeley-db/db/index.html
44
45      The latest version of Berkeley DB is always available there. It
46      is recommended that you use the most recent version available.
47
48      The one exception to this advice is where you want to use BerkeleyDB
49      to access database files created by a third-party application,
50      like Sendmail. In these cases you must build BerkeleyDB with a
51      compatible version of Berkeley DB.
52
53
54BUILDING THE MODULE
55-------------------
56
57Assuming you have met all the prerequisites, building the module should
58be relatively straightforward.
59
60Step 1 : If you are running Solaris 2.5, 2.7 or HP-UX 10 read either
61         the Solaris Notes or HP-UX Notes sections below.
62         If you are running Linux please read the Linux Notes section
63         before proceeding.
64         If you are running FreeBSD read the FreeBSD Notes section
65         below.
66
67
68Step 2 : Edit the file config.in to suit you local installation.
69         Instructions are given in the file.
70
71Step 3 : Build and test the module using this sequence of commands:
72
73             perl Makefile.PL
74             make
75             make test
76
77INSTALLATION
78------------
79
80    make install
81
82TROUBLESHOOTING
83===============
84
85Here are some of the problems that people encounter when building BerkeleyDB.
86
87Missing db.h or libdb.a
88-----------------------
89
90If you get an error like this:
91
92  cc -c -I./libraries/ -Dbool=char -DHAS_BOOL -I/usr/local/include -O2
93  -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\" -fpic
94  -I/usr/local/lib/perl5/5.00503/i586-linux/CORE  BerkeleyDB.c
95  BerkeleyDB.xs:52: db.h: No such file or directory
96
97or this:
98
99  cc -c -I./libraries/2.7.5 -Dbool=char -DHAS_BOOL -I/usr/local/include -O2
100  -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\" -fpic
101  -I/usr/local/lib/perl5/5.00503/i586-linux/CORE  BerkeleyDB.c
102  LD_RUN_PATH="/lib" cc -o blib/arch/auto/BerkeleyDB/BerkeleyDB.so  -shared
103  -L/usr/local/lib BerkeleyDB.o
104  -L/home/paul/perl/ext/BerkDB/BerkeleyDB/libraries -ldb
105  ld: cannot open -ldb: No such file or directory
106
107This symptom can imply:
108
109 1. You don't have Berkeley DB installed on your system at all.
110    Solution: get & install Berkeley DB.
111
112 2. You do have Berkeley DB installed, but it isn't in a standard place.
113    Solution: Edit config.in and set the LIB and INCLUDE variables to point
114              to the directories where libdb.a and db.h are installed.
115
116#error db.h is not for Berkeley DB at all.
117------------------------------------------
118
119If you get the error above when building this module it means that there
120is a file called "db.h" on your system that isn't the one that comes
121with Berkeley DB.
122
123Options:
124
125 1. You don't have Berkeley DB installed on your system at all.
126    Solution: get & install Berkeley DB.
127
128 2. Edit config.in and make sure the INCLUDE variable points to the
129    directory where the Berkeley DB file db.h is installed.
130
131 3. If option 2 doesn't work, try tempoarily renaming the db.h file
132    that is causing the error.
133
134#error db.h is for Berkeley DB 1.x - need at least Berkeley DB 2.6.4
135--------------------------------------------------------------------
136
137The error above will occur if there is a copy of the Berkeley DB 1.x
138file db.h on your system.
139
140This error will happen when 
141
142  1. you only have Berkeley DB version 1 on your system.
143     Solution: get & install a newer version of Berkeley DB.
144
145  2. you have both version 1 and a later version of Berkeley DB
146     installed on your system. When building BerkeleyDB it attempts to
147     use the db.h for Berkeley DB version 1.
148     Solution: Edit config.in and set the LIB and INCLUDE variables
149               to point to the directories where libdb.a and db.h are
150               installed.
151
152
153#error db.h is for Berkeley DB 2.0-2.5 - need at least Berkeley DB 2.6.4
154------------------------------------------------------------------------
155
156The error above will occur if there is a copy of the the file db.h for
157Berkeley DB 2.0 to 2.5 on your system.
158
159This symptom can imply:
160
161 1. You don't have a new enough version of Berkeley DB.
162    Solution: get & install a newer version of Berkeley DB.
163
164 2. You have the correct version of Berkeley DB installed, but it isn't
165    in a standard place.
166    Solution: Edit config.in and set the LIB and INCLUDE variables
167              to point to the directories where libdb.a and db.h are
168              installed.
169
170Undefined Symbol: txn_stat 
171--------------------------
172
173BerkeleyDB seems to have built correctly, but you get an error like this
174when you run the test harness:
175
176  $ make test
177  PERL_DL_NONLAZY=1 /home/paul/perl/install/bin/perl5.00503
178  -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.00503/i586-linux
179  -I/usr/local/lib/perl5/5.00503 -e 'use Test::Harness qw(&runtests $verbose);
180  $verbose=0; runtests @ARGV;' t/*.t
181  t/btree.............Can't load 'blib/arch/auto/BerkeleyDB/BerkeleyDB.so' for
182  module BerkeleyDB: blib/arch/auto/BerkeleyDB/BerkeleyDB.so:
183  undefined symbol: txn_stat
184  at /usr/local/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
185  ...
186
187This error usually happens when you have both version 1 and a newer version
188of Berkeley DB installed on your system. BerkeleyDB attempts
189to build using the db.h for Berkeley DB version 2/3/4 and the version 1
190library. Unfortunately the two versions aren't compatible with each
191other. BerkeleyDB can only be built with Berkeley DB version 2, 3 or 4.
192
193Solution: Setting the LIB & INCLUDE variables in config.in to point to the
194          correct directories can sometimes be enough to fix this
195          problem. If that doesn't work the easiest way to fix the
196          problem is to either delete or temporarily rename the copies
197          of db.h and libdb.a that you don't want BerkeleyDB to use.
198
199Undefined Symbol: db_appinit 
200----------------------------
201
202BerkeleyDB seems to have built correctly, but you get an error like this
203when you run the test harness:
204
205  $ make test
206  PERL_DL_NONLAZY=1 /home/paul/perl/install/bin/perl5.00561 -Iblib/arch 
207  -Iblib/lib -I/home/paul/perl/install/5.005_61/lib/5.00561/i586-linux 
208  -I/home/paul/perl/install/5.005_61/lib/5.00561 -e 'use Test::Harness 
209  qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
210  t/btree.............Can't load 'blib/arch/auto/BerkeleyDB/BerkeleyDB.so' for 
211  module BerkeleyDB: blib/arch/auto/BerkeleyDB/BerkeleyDB.so: 
212  undefined symbol: db_appinit 
213  at /home/paul/perl/install/5.005_61/lib/5.00561/i586-linux/DynaLoader.pm 
214  ...
215
216
217This error usually happens when you have both version 2 and version
2183 of Berkeley DB installed on your system and BerkeleyDB attempts
219to build using the db.h for Berkeley DB version 2 and the version 3
220library. Unfortunately the two versions aren't compatible with each
221other. 
222
223Solution: Setting the LIB & INCLUDE variables in config.in to point to the
224          correct directories can sometimes be enough to fix this
225          problem. If that doesn't work the easiest way to fix the
226          problem is to either delete or temporarily rename the copies
227          of db.h and libdb.a that you don't want BerkeleyDB to use.
228
229Undefined Symbol: db_create
230---------------------------
231
232BerkeleyDB seems to have built correctly, but you get an error like this
233when you run the test harness:
234
235  $ make test   
236  PERL_DL_NONLAZY=1 /home/paul/perl/install/bin/perl5.00561 -Iblib/arch 
237  -Iblib/lib -I/home/paul/perl/install/5.005_61/lib/5.00561/i586-linux 
238  -I/home/paul/perl/install/5.005_61/lib/5.00561 -e 'use Test::Harness 
239  qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
240  t/btree.............Can't load 'blib/arch/auto/BerkeleyDB/BerkeleyDB.so' for 
241  module BerkeleyDB: blib/arch/auto/BerkeleyDB/BerkeleyDB.so: 
242  undefined symbol: db_create 
243  at /home/paul/perl/install/5.005_61/lib/5.00561/i586-linux/DynaLoader.pm 
244  ...
245
246This error usually happens when you have both version 2 and version
2473 of Berkeley DB installed on your system and BerkeleyDB attempts
248to build using the db.h for Berkeley DB version 3 and the version 2
249library. Unfortunately the two versions aren't compatible with each
250other. 
251
252Solution: Setting the LIB & INCLUDE variables in config.in to point to the
253          correct directories can sometimes be enough to fix this
254          problem. If that doesn't work the easiest way to fix the
255          problem is to either delete or temporarily rename the copies
256          of db.h and libdb.a that you don't want BerkeleyDB to use.
257
258
259Incompatible versions of db.h and libdb
260---------------------------------------
261
262BerkeleyDB seems to have built correctly, but you get an error like this
263when you run the test harness:
264
265  $ make test
266  PERL_DL_NONLAZY=1 /home/paul/perl/install/bin/perl5.00503
267  -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.00503/i586-linux
268  -I/usr/local/lib/perl5/5.00503 -e 'use Test::Harness qw(&runtests $verbose);
269  $verbose=0; runtests @ARGV;' t/*.t
270  t/btree.............
271  BerkeleyDB needs compatible versions of libdb & db.h
272          you have db.h version 2.6.4 and libdb version 2.7.5
273  BEGIN failed--compilation aborted at t/btree.t line 25.
274  dubious
275        Test returned status 255 (wstat 65280, 0xff00)
276  ...	
277
278Another variation on the theme of having two versions of Berkeley DB on
279your system. 
280
281Solution: Setting the LIB & INCLUDE variables in config.in to point to the
282          correct directories can sometimes be enough to fix this
283          problem. If that doesn't work the easiest way to fix the
284          problem is to either delete or temporarily rename the copies
285          of db.h and libdb.a that you don't want BerkeleyDB to use.
286	  If you are running Linux, please read the Linux Notes section below.
287
288
289
290Solaris build fails with "language optional software package not installed"
291---------------------------------------------------------------------------
292
293If you are trying to build this module under Solaris and you get an
294error message like this
295
296    /usr/ucb/cc: language optional software package not installed
297
298it means that Perl cannot find the C compiler on your system. The cryptic
299message is just Sun's way of telling you that you haven't bought their
300C compiler.
301
302When you build a Perl module that needs a C compiler, the Perl build
303system tries to use the same C compiler that was used to build perl
304itself. In this case your Perl binary was built with a C compiler that
305lived in /usr/ucb.
306
307To continue with building this module, you need to get a C compiler,
308or tell Perl where your C compiler is, if you already have one.
309
310Assuming you have now got a C compiler, what you do next will be dependant
311on what C compiler you have installed. If you have just installed Sun's
312C compiler, you shouldn't have to do anything. Just try rebuilding
313this module.
314
315If you have installed another C compiler, say gcc, you have to tell perl
316how to use it instead of /usr/ucb/cc.
317
318This set of options seems to work if you want to use gcc. Your mileage
319may vary.
320
321    perl Makefile.PL CC=gcc CCCDLFLAGS=-fPIC OPTIMIZE=" "
322    make test
323
324If that doesn't work for you, it's time to make changes to the Makefile
325by hand. Good luck!
326
327
328
329Solaris build fails with "gcc: unrecognized option `-KPIC'"
330-----------------------------------------------------------
331
332You are running Solaris and you get an error like this when you try to
333build this Perl module
334
335    gcc: unrecognized option `-KPIC'
336
337This symptom usually means that you are using a Perl binary that has been
338built with the Sun C compiler, but you are using gcc to build this module.
339
340When Perl builds modules that need a C compiler, it will attempt to use
341the same C compiler and command line options that was used to build perl
342itself. In this case "-KPIC" is a valid option for the Sun C compiler,
343but not for gcc. The equivalent option for gcc is "-fPIC".
344
345The solution is either:
346
347    1. Build both Perl and this module with the same C compiler, either
348       by using the Sun C compiler for both or gcc for both.
349
350    2. Try generating the Makefile for this module like this perl
351
352           perl Makefile.PL CC=gcc CCCDLFLAGS=-fPIC OPTIMIZE=" " LD=gcc
353           make test
354
355       This second option seems to work when mixing a Perl binary built
356       with the Sun C compiler and this module built with gcc. Your
357       mileage may vary.
358
359
360
361Network Drive
362-------------
363
364BerkeleyDB seems to have built correctly, but you get a series of errors
365like this when you run the test harness:
366
367
368t/btree........NOK 178Can't call method "txn_begin" on an undefined value at t/btree.t line 637.
369t/btree........dubious                                                       
370        Test returned status 11 (wstat 2816, 0xb00)
371DIED. FAILED tests 28, 178-244
372        Failed 68/244 tests, 72.13% okay
373t/db-3.0.......NOK 2Can't call method "set_mutexlocks" on an undefined value at t/db-3.0.t line 39.
374t/db-3.0.......dubious                                                       
375        Test returned status 11 (wstat 2816, 0xb00)
376DIED. FAILED tests 2-14
377        Failed 13/14 tests, 7.14% okay
378t/db-3.1.......ok                                                            
379t/db-3.2.......NOK 5Can't call method "set_flags" on an undefined value at t/db-3.2.t line 62.
380t/db-3.2.......dubious                                                       
381        Test returned status 11 (wstat 2816, 0xb00)
382DIED. FAILED tests 3, 5-6
383        Failed 3/6 tests, 50.00% okay
384t/db-3.3.......ok                  
385
386This pattern of errors happens if you have built the module in a directory
387that is network mounted (e.g. NFS ar AFS).
388
389The solution is to use a local drive. Berkeley DB doesn't support
390network drives.
391
392
393Berkeley DB library configured to support only DB_PRIVATE environments
394----------------------------------------------------------------------
395
396BerkeleyDB seems to have built correctly, but you get a series of errors
397like this when you run the test harness:
398
399  t/btree........ok 27/244
400  # : Berkeley DB library configured to support only DB_PRIVATE environments
401  t/btree........ok 177/244
402  # : Berkeley DB library configured to support only DB_PRIVATE environments
403  t/btree........NOK 178Can't call method "txn_begin" on an undefined value at t/btree.t line 638.
404  t/btree........dubious
405          Test returned status 2 (wstat 512, 0x200)
406  Scalar found where operator expected at (eval 153) line 1, near "'int'  $__val"
407        (Missing operator before   $__val?)
408  DIED. FAILED tests 28, 178-244
409          Failed 68/244 tests, 72.13% okay
410
411
412Some versions of Redhat Linux, and possibly some other Linux
413distributions, include a seriously restricted build of the
414Berkeley DB library that is incompatible with this module. See
415https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=91933 for an
416exhaustive discussion on the reasons for this.
417
418
419Solution:
420
421You will have to build a private copy of the Berkeley DB library and
422use it when building this Perl module.
423
424
425
426Linux Notes
427-----------
428
429Some versions of Linux (e.g. RedHat 6, SuSe 6) ship with a C library
430that has version 2.x of Berkeley DB linked into it. This makes it
431difficult to build this module with anything other than the version of
432Berkeley DB that shipped with your Linux release. If you do try to use
433a different version of Berkeley DB you will most likely get the error
434described in the "Incompatible versions of db.h and libdb" section of
435this file.
436
437To make matters worse, prior to Perl 5.6.1, the perl binary itself
438*always* included the Berkeley DB library.
439
440If you want to use a newer version of Berkeley DB with this module, the
441easiest solution is to use Perl 5.6.1 (or better) and Berkeley DB 3.x
442(or better).
443
444There are two approaches you can use to get older versions of Perl to
445work with specific versions of Berkeley DB. Both have their advantages
446and disadvantages.
447
448The first approach will only work when you want to build a version of
449Perl older than 5.6.1 along with Berkeley DB 3.x. If you want to use
450Berkeley DB 2.x, you must use the next approach. This approach involves
451rebuilding your existing version of Perl after applying an unofficial
452patch. The "patches" directory in the this module's source distribution
453contains a number of patch files. There is one patch file for every
454stable version of Perl since 5.004. Apply the appropriate patch to your
455Perl source tree before re-building and installing Perl from scratch.
456For example, assuming you are in the top-level source directory for
457Perl 5.6.0, the command below will apply the necessary patch. Remember
458to replace the path shown below with one that points to this module's
459patches directory.
460
461    patch -p1 -N </path/to/BerkeleyDB/patches/5.6.0
462
463Now rebuild & install perl. You should now have a perl binary that can
464be used to build this module. Follow the instructions in "BUILDING THE
465MODULE", remembering to set the INCLUDE and LIB variables in config.in.
466
467
468The second approach will work with Berkeley DB 2.x or better.
469Start by building Berkeley DB as a shared library. This is from
470the Berkeley DB build instructions:
471
472    Building Shared Libraries for the GNU GCC compiler
473
474    If you're using gcc and there's no better shared library example for
475    your architecture, the following shared library build procedure will
476    probably work.
477
478    Add the -fpic option to the CFLAGS value in the Makefile.
479
480    Rebuild all of your .o files. This will create a Berkeley DB library
481    that contains .o files with PIC code. To build the shared library,
482    then take the following steps in the library build directory:
483
484    % mkdir tmp
485    % cd tmp
486    % ar xv ../libdb.a
487    % gcc -shared -o libdb.so *.o
488    % mv libdb.so ..
489    % cd ..
490    % rm -rf tmp
491
492    Note, you may have to change the gcc line depending on the
493    requirements of your system.
494
495    The file libdb.so is your shared library
496
497Once you have built libdb.so, you will need to store it somewhere safe.
498
499    cp libdb.so /usr/local/BerkeleyDB/lib
500
501If you now set the LD_PRELOAD environment variable to point to this
502shared library, Perl will use it instead of the version of Berkeley DB
503that shipped with your Linux distribution.
504
505    export LD_PRELOAD=/usr/local/BerkeleyDB/lib/libdb.so
506
507Finally follow the instructions in "BUILDING THE MODULE" to build,
508test and install this module. Don't forget to set the INCLUDE and LIB
509variables in config.in.
510
511Remember, you will need to have the LD_PRELOAD variable set anytime you
512want to use Perl with Berkeley DB. Also note that if you have LD_PRELOAD
513permanently set it will affect ALL commands you execute. This may be a
514problem if you run any commands that access a database created by the
515version of Berkeley DB that shipped with your Linux distribution.
516
517
518
519Solaris 2.5 Notes
520-----------------
521
522If you are running Solaris 2.5, and you get this error when you run the
523BerkeleyDB test harness:
524
525    libc internal error: _rmutex_unlock: rmutex not held.
526
527you probably need to install a Sun patch. It has been reported that
528Sun patch 103187-25 (or later revisions) fixes this problem.
529
530To find out if you have the patch installed, the command "showrev -p"
531will display the patches that are currently installed on your system.
532
533
534Solaris 2.7 Notes
535-----------------
536
537If you are running Solaris 2.7 and all the tests in the test harness
538generate a core dump, try applying Sun patch 106980-09 (or better).
539
540To find out if you have the patch installed, the command "showrev -p"
541will display the patches that are currently installed on your system.
542
543
544HP-UX Notes
545-----------
546
547Some people running HP-UX 10 have reported getting an error like this
548when building this module with the native HP-UX compiler.
549
550    ld: (Warning) At least one PA 2.0 object file (BerkeleyDB.o) was detected.
551    The linked output may not run on a PA 1.x system.
552    ld: Invalid loader fixup for symbol "$000000A5".
553
554If this is the case for you, Berkeley DB needs to be recompiled with
555the +z or +Z option and the resulting library placed in a .sl file. The
556following steps should do the trick:
557
558  1: Configure the Berkeley DB distribution with the +z or +Z C compiler
559     flag:
560
561        env "CFLAGS=+z" ../dist/configure ...
562
563  2: Edit the Berkeley DB Makefile and change:
564
565        "libdb= libdb.a" to "libdb= libdb.sl".
566
567  3: Build and install the Berkeley DB distribution as usual.
568
569
570FreeBSD Notes
571-------------
572
573On FreeBSD 4.x through 6.x, the default db.h is for version 1. The build
574will fail with an error similar to:
575
576BerkeleyDB.xs:74: #error db.h is from Berkeley DB 1.x - need at least
577Berkeley DB 2.6.4
578
579Later versions of Berkeley DB are usually installed from ports.
580The available versions can be found by running a find(1) command:
581
582    %  find /usr/local/include -name 'db.h'
583    /usr/local/include/db3/db.h
584    /usr/local/include/db4/db.h
585    /usr/local/include/db41/db.h
586    /usr/local/include/db42/db.h
587    /usr/local/include/db43/db.h
588
589The desired version of the library must be specified on the command line or
590via the config.in file. Make sure both values point to the same version:
591
592    INCLUDE = /usr/local/include/db43
593    LIB     = /usr/local/lib/db43
594
595
596
597
598FEEDBACK
599--------
600
601General feedback/questions/bug reports can be sent to me at pmqs@cpan.org.
602
603Alternatively, if you have Usenet access, you can try the
604comp.databases.berkeley-db or comp.lang.perl.modules groups.
605
606
607How to report a problem with BerkeleyDB.
608----------------------------------------
609
610To help me help you, I need of the following information:
611
612 1. The version of Perl and the operating system name and version you
613    are running. The complete output from running "perl -V" will tell
614    me all I need to know.  
615    If your perl does not understand the "-V" option is too old.
616    BerkeleyDB needs Perl version 5.004_04 or better.
617
618 2. The version of BerkeleyDB you have. If you have successfully
619    installed BerkeleyDB, this one-liner will tell you:
620
621       perl -MBerkeleyDB -e 'print qq{BerkeleyDB ver $BerkeleyDB::VERSION\n}'
622
623    If you are running windows use this
624
625       perl -MBerkeleyDB -e "print qq{BerkeleyDB ver $BerkeleyDB::VERSION\n}"
626
627    If you haven't installed BerkeleyDB then search BerkeleyDB.pm for a
628    line like this:
629
630      $VERSION = "1.20" ;
631
632 3. The version of Berkeley DB you have installed. If you have
633    successfully installed BerkeleyDB, this one-liner will tell you:
634
635        perl -MBerkeleyDB -e 'print BerkeleyDB::DB_VERSION_STRING.qq{\n}'
636
637    If you are running windows use this
638
639        perl -MBerkeleyDB -e "print BerkeleyDB::DB_VERSION_STRING.qq{\n}"
640
641    If you haven't installed BerkeleyDB then search db.h for a line
642    like this:
643
644      #define DB_VERSION_STRING
645
646 4. If you are having problems building BerkeleyDB, send me a complete
647    log of what happened.
648
649 5. Now the difficult one. If you think you have found a bug in
650    BerkeleyDB and you want me to fix it, you will *greatly* enhance
651    the chances of me being able to track it down by sending me a small
652    self-contained Perl script that illustrates the problem you are
653    encountering. Include a summary of what you think the problem is
654    and a log of what happens when you run the script, in case I can't
655    reproduce your problem on my system. If possible, don't have the
656    script dependent on an existing 20Meg database. If the script you
657    send me can create the database itself then that is preferred.
658
659    I realise that in some cases this is easier said than done, so if
660    you can only reproduce the problem in your existing script, then
661    you can post me that if you want. Just don't expect me to find your
662    problem in a hurry, or at all. :-)
663
664
665CHANGES
666-------
667
668See the Changes file.
669
670Paul Marquess <pmqs@cpan.org>
671
672