shared library version changed apparently without an interface change
The shared library version changed from exiv2 0.11 to 0.12, going from 11 to 12. But the changelog doesn't show any withdrawn or changed functions. This means tha t if the library is updated, all programs that use it need to be recompiled, which is unnecessary if there is no ABI change.
poblano gdt 76 ~ > ls
l /usr/pkg/lib/libexiv2* 1 root wheel 956994 Nov 28 20:33 /usr/pkg/lib/libexiv2-0.12.so
rw-r--r- 1 root wheel 1586392 Nov 28 20:33 /usr/pkg/lib/libexiv2.a rw-r--r- 1 root wheel 870 Nov 28 20:33 /usr/pkg/lib/libexiv2.la
lrwxr-xr-x 1 root wheel 16 Nov 28 20:33 /usr/pkg/lib/libexiv2.so -> libexiv2-0.12.so
poblano gdt 77 ~ > ufraw
Shared object "libexiv2-0.11.so" not found
(rebuilding ufraw fixes this, of course)
Updated by Andreas Huggel almost 15 years ago
The interface did change: New (and modified) pretty-print functions result in an API change of the output operator for class Exifdatum, even the improved tag descriptions constitute a change of API. Applications potentially need to change. See this thread for a discussion and a real example how the GPS pretty-print functions broke digikam when they were first introduced in SVN:
I'm not an expert for this whole library versioning issue and I don't like the situation, suggestions are most welcome.