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