Updated: gdbm-1.8.0-3

Charles S. Wilson cwilson@ece.gatech.edu
Mon Oct 30 09:11:00 GMT 2000


The gdbm package has been updated to version 1.8.0-3.  It is based on
the official GNU Database Manager distribution from the FSF,
gdbm-1.8.0.tar.gz.  gdbm is a prerequisite for the cvs package.  

CHANGES:

- dll is now called 'cyggdbm.dll' to avoid naming conflicts dlls from
other platforms. If you have an application that depends on libgdbm.dll,
you must either recompile so that the app depends on cyggdbm.dll, or
take special steps to preserve libgdbm.dll (see below).  Hopefully this
short-term inconvenience will reduce long-term difficulties.

- see this thread: "DLL naming flamefest"
http://www.cygwin.com/ml/cygwin/2000-10/msg01275.html for a detailed
discussion of the arguments for/against this renaming, and concerning
dll versioning.

INSTALLATION:

To update your installation, click on the "Install Cygwin now" link on
the http://sources.redhat.com/cygwin web page.  This downloads setup.exe
to your system.

Since setup will uninstall the old version, if you want to preserve
/usr/bin/libgdbm.dll, do:
   'cp /usr/bin/libgdbm.dll /usr/bin/libgdbm.dll.bak'
BEFORE continuing.  AFTER running setup.exe, do:
   'cp /usr/bin/libgdbm.dll.bak /usr/bin/libgdbm.dll'
(yes, I know this is obvious; I just wanted to emphasize that there is
no automated way of doing it)

Run setup and answer all of the questions.  PLEASE, PLEASE, PLEASE
choose a mirror site for your download.  The 'sources.redhat.com' site
is badly overloaded.  The mirrors below have the latest version of this
package:

ftp://ftp.sunsite.utk.edu/pub/cygwin/ (US)
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/
(Germany)
ftp://ftp.ntua.gr/pub/pc/cygwin/ (Greece)

The setup.exe program will figure out what needs to be updated on your
system and should install the less package automatically.

If you have questions or comments, please send them to the Cygwin
mailing list at:  cygwin@sources.redhat.com .  I would appreciate if you
would use this mailing list rather than emailing me directly. This
includes ideas and comments about the setup utility or Cygwin general.

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe to the cygwin-announce mailing list, look at
the "List-Unsubscribe: " tag in the email header of this message. Send
email to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@sources.redhat.com

NOTES:

o Building the package from source requires gcc-2.95.2-2 and
binutils-20000722-1 or later

o The package includes several test and conversion utilities which are
useful for evaluating gdbm, and converting older ndbm and dbm databases
to the gdbm format. These utilities are dynamically linked, although the
build process will make both dynamically and statically linked versions.

o The package also includes compatibility headers, so that gdbm can be
used as a drop-in replacement for ndbm and dbm.

o Abides by the cygwin package system standard:
  - import-lib   /usr/lib/libgdbm.dll.a
  - static-lib   /usr/lib/libgdbm.a
  - stripped dll /usr/bin/cyggdbm.dll (**)
  - cygwin-specific docs in /usr/doc/Cygwin/gdbm-1.8.0.README
  - generic docs in /usr/doc/gdbm-1.8.0/*

(**) The last update to the GNU gdbm source was almost two years ago. 
The one before that was in 1995.  Both had the same interface.  I'd call
that stable.  No version number necessary.

o A cygwin-specific README and PATCH are stored in the source archive,
under <top>/CYGWIN-PATCHES/* (although that patch has already been
applied to the archive itself). The cygwin-specific README is also
installed by the binary distribution as described above.

o If you are building a package that depends on gdbm, and you wish to
link *statically*, define -DGDBM_STATIC to get the 'correct' #define's
in gdbm.h when compiling the .o files in your package. Also, use 'gcc
-static' when linking your package.

o Also, use -DGDBM_STATIC when using the compatibility headers
(ndbm.h/dbm.h) if linking statically. Don't use '-DNDBM_STATIC' or
'-DDBM_STATIC'.

o No special -Ddefine options or link options are needed when building a
package that depends on gdbm and you want to link dynamically
(recommended). This is also the case if you are using gdbm as a
replacement for ndbm/dbm and are using the ndbm.h/dbm.h compatibility
headers.

--Chuck Wilson


More information about the Cygwin-announce mailing list