On Mon, 11 Mar 2013 15:01:12 -0500, Richard Shaw wrote:
Another option which I employ with the opencollada library is to use
arbitrary soversioning. Upstream not only doesn't use library versions
but doesn't use ANY versioning.
I started at 0.1 or something like that and when I build a new package
I check compatibility with abi-compliance-checker. If it's not found
to be compatible, I bump the soversion macro in the spec file before
doing an official build.
Sure, that's something that can help avoiding unnecessary rebuilds.
However, elsewhere in this thread, Sergio has mentioned that cfitsio
contains a run-time check to enforce that an application was built with
exactly the same headers as the library itself. Indeed it does that when
opening files.
$ grep CFITSIO_VERSION * -R
cfileio.c: if (version != CFITSIO_VERSION)
cfileio.c: printf(" Version used to build the CFITSIO library =
%f\n",CFITSIO_VERSION);
fitsio.h:#define CFITSIO_VERSION 3.33
longnam.h:#define fits_open_file(A, B, C, D)
ffopentest( CFITSIO_VERSION, A, B, C, D)