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

Re: libdb transition policy?



> * Andreas Barth:
> > Why that? It would only affect packages that (correctly or wrongly)
> > also depend on libdb4.2. (And libdb4.2 unfortunatly doesn't have
> > versioning, otherwise, it wouldn't be any issue; lidb4.3 and libdb4.4
> > are better in that regard.)
>
> Berkeley DB 4.2 was compiled such that every exported symbol ends with
> "_4002".  Have a look at:
>
>   $ readelf -sW /usr/lib/libdb-4.2.so  | grep -v _4002
>
> This means that even though it does not use symbol versioning, it can
> coexist with other versions in the same process image.
>
> However, contrary to what the NM templates suggest, symbol versioning
> is not a cure-all for all ABI incompatibilities.  If libetpan returns
> a DB_ENV * in its API, you need to port[1] all its dependencies to the
> new Berkeley DB version.

No, libetpan uses libdb only internally, and does not export it.

So I guess the question is to people who maintain etpan-ng and 
sylpheed-claws-gtk2 - is it safe for your packages if I will upload new 
version of libetpan (without soname change or package name change) that 
will link against libdb4.4?

Nikita



Reply to: