To Require or not to Require?

Adam Jackson ajax at redhat.com
Fri Aug 12 17:28:59 UTC 2011


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.

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

- ajax


More information about the devel mailing list