Parent Directories
Directory guile-gdbm
Introduction =========================================================
Guile-GDBM is a compiled Guile module that provides Scheme level
access to the GNU dbm library. It was originally written by
Martin Grabmüller <mgrabmue@cs.tu-berlin.de> and is released
under the GNU General Public License (GPL) version 3. You can
get the latest version from directory:
http://www.gnuvola.org/software/guile-gdbm/
Please send bug reports to Thien-Thi Nguyen <ttn@gnuvola.org>,
the current maintainer of Guile-GDBM.
Getting Started ======================================================
See INSTALL for generic installation instructions. Briefly:
./configure
make
make check # optional but recommended
make install
make installcheck # optional but recommended
At this time there are no extra ./configure options, but you can
type "./configure --help" to see the standard help anyway. The
"make check" and "make installcheck" tests are normally silent.
You can use "make check DEBUG=1" to see output.
Building and installing the distribution gives you:
- a libtool library, gdbm.la, and support files
installed in ${guilelibsitedir}/database/
- the info manual, guile-gdbm.info
installed in ${prefix}/info
Additionally, if "guile-tools make-module-catalog" is available, it
is run to update the module catalog in ${guilelibsitedir}.
The value of ${guilelibsitedir} is determined by the `configure'
script based on the result of running the command: "guile-config
re-prefix-info pkglibdir".
What Is Included =====================================================
The following procedures for manipulating GNU dbm files are
exported:
gdbm?
gdbm-version
gdbm-open
gdbm-close!
gdbm-store!
gdbm-fetch
gdbm-exists?
gdbm-delete!
gdbm-first-key
gdbm-next-key
gdbm-reorganize!
gdbm-sync!
gdbm-setopt!
gdbm-fdesc
What Is Not Included =================================================
Support for the DBM/NDBM compatibility functions of GNU dbm is not
available.
Also a possibility to store, say, a hash table with string keys and
values into a GNU dbm file with one procedure call would be nice.
I hope to add most of these in the future, probably as driven by my
own and other users' requirements. Contributions are, of course,
very welcome.
Upgrading Tips =======================================================
Starting with Guile-GDBM 0.1.x, the libtool library (ltlib) that
implements module `(database gdbm)' is installed in the directory
${guilelibsitedir}/database instead of ${libdir}. This means if
you have installed previous versions of Guile-GDBM, there will be
undesirable leftover files in ${libdir}. There are three ways to
remove them:
(1) If you have the build tree from the previous version of
Guile-GDBM, you can do "make uninstall" there.
(2) You can do "rm -f ${libdir}/libguile-gdbm-*" manually. (You
will also need to determine the value of ${libdir} manually.)
(3) You can make use of an upgrade facility provided with this and
later versions of Guile-GDBM and do "make check-000-libdir" to
list the leftover files, and "make clean-000-libdir" to delete
them (using the exact same command as in (2)). This method is
recommended over the others.
Note that the "000" are all zeroes; it signifies the ltlib version
number and has nothing to do with the Guile-GDBM package version.