Re: Do symbols make sense for C++
* Russ Allbery <email@example.com> [120127 22:30]:
> > Symbol files are nice if you have a upstream who doesn't always take
> > binary compatibility that serious (which is probably the case for 75% of
> > upstreamers). Then you have a list that helps you finding out.
> This is probably the best summary of why a symbols file might be useful.
> It helps catch cases where ABI compatibility is not maintained without
> people being aware that this broke.
On the other hand a symbols file can also make situations worse if the
ABI changes and dpkg-gensymbols does not catch this case, as the
dependencies are less strict then.
> > (and then of course there is the usual bits and pieces about why symbol
> > files are useful)
> I think this is probably the summary of my previous message: a lot of
> those places don't seem as useful for C++ as for C, because ABI
> compatibility is a lot more complex (and in some ways a lot harder to
> maintain), so the equivalent of a shlibs bump is probably more frequently
> the right thing to do.
I think this argument can also mean that symbols files are more useful
for C++ than for C: For C there are many ways to break the ABI
incompatibly and compatibly without anything visible at symbol level.
As C++ is more likely to show differences at symbol level in this cases
the danger of cases where dpkg-symbols introduces wrong dependencies
might be lower with C++.
Bernhard R. Link