[Top][All Lists]
[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.