bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gdbm 1.8.3 critical regressions and API messups


From: Jason Downs
Subject: Re: gdbm 1.8.3 critical regressions and API messups
Date: Sat, 14 Dec 2002 11:35:08 -0800

In message <address@hidden>,
        Matthias Andree writes:
>I used "vacation" on a SuSE 7.0 box with some older gdbm library 1.7 or
>1.6 or whatever was current in 2000. "vacation" used libgdbm.so.1, it
>worked nicely across NFS.
>
>I then decided to upgrade to SuSE 8.1, which ships gdbm 1.8.0, API
>version libgdbm.so.2, so vacation stopped working, libgdbm.so.1 was gone
>after the update. Bad enough, gdbm 1.8.0 should have been called 2.0.0.
>-> Unsuspected incompatibility.

Sounds like you need to talk to your Linux vendor about those upgrade /
installation issues.  Removing shared libraries during an upgrade seems
rather asinine.

>I recompiled vacation against the new gdbm; it would link again, but
>still didn't work: "no locks available", I strace-d this down to gdbm's
>use of "flock()", which doesn't work on NFS with Linux 2.4.
>
>I figured I would have to recompile gdbm to disallow flock and use fcntl
>instead, so I chose the latest version, gdbm 1.8.3. To my astonishment,
>vacation would no longer link, because gdbm now installed libgdbm.so.3,
>when gdbm should have be named 3.0.1 or something rather than 1.8.3.

The version number of a software release has absolutely _nothing_ to do
with a shared library major number.  Major numbers are incremented when
an incompatible change to the ABI has taken place, which it did when
the gdbm_compat library was created.

>These careless changes in gdbm made on September 25, together with the
>NFS regressions, make gdbm a rather unreliable package at the moment,
>which is a sad thing. I am VERY annoyed.

Well, that's too bad.  Get a better Linux vendor.  Alternatively, build
GDBM without locking, at which point I'm sure it will run fine with your
NFS implementation.

>3. clearly mark any API (i. e. libgdbm.so.3 to libgdbm.so.4) changes
>   a) in the NEWS file   b) by stepping the major release number.

The API has not changed.  The ABI has.  You do understand the difference,
right?

--
Jason Downs
address@hidden

                  Sun Microsystems: The Enron of Open Source.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]