To Require or not to Require?

Simo Sorce simo at redhat.com
Fri Aug 12 17:54:34 UTC 2011


On Fri, 2011-08-12 at 13:28 -0400, Adam Jackson wrote:
> On 8/12/11 12:28 PM, Matthew Garrett wrote:
> > On Fri, Aug 12, 2011 at 05:25:17PM +0100, Bryn M. Reeves wrote:
> >
> >> Third party code built against -devel and depending only on the SONAME is fine
> >> in this situation as it sticks to the published ABI. In-tree code that plays
> >> with non-ABI symbols will break and so may need a stricter dep.
> >
> > It is in this situation, but there are other situations where depending
> > on the SONAME will cause breakage. If libfoo 1.1 adds a new symbol,
> > anything built against it may fail to run against libfoo 1.0. But how
> > will you know that in advance if all you have in your dependencies is
> > the SONAME?
> 
> In fairness, this is why rpm elaborates soname dependencies to also 
> include symbol versions.  It's a pity that symbol versions are so 
> painful to use that really only glibc makes any effort to do it.

FWIW: talloc, tdb, tevent, and ldb and all of samba4 also do symbol
versioning since recently, thanks to waf build extensions that make it
simple to do.

> Hilariously gcc _does_ let you specify symbol version in a __attribute__ 
> tag, but only on HP/UX on ia64.  Thanks for that.

[fail]

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York



More information about the devel mailing list