[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#83669: Shared libraries



>>>>> "Marcelo" == Marcelo E Magallon <mmagallo@debian.org> writes:

    Marcelo>  I don't think I understand what you mean by manage here.
    Marcelo> You can't prevent users from running 'ldconfig'.  If you
    Marcelo> run 'ldconfig' it will read the sonames and place
    Marcelo> symlinks to the "newer versions" of the library.

This is only a problem if it modifies the symlink used for
compilation (libfoo.so).

It doesn't matter about the other symlink (libfoo.so.2), as this is
used at run time, and the newer minor-versions of the library are
meant to be 100% backward compatible with existing source (otherwise
the major number would be incremented).


That is, if my understanding is correct (please correct me
if I am wrong):

1. If you delete a function in the library:
=> might break existing programs
=> increase major version

2. If you add a new function in such a way that old software will
continue to work:
=> existing programs won't break
=> increase minor version
=> programs compiled for this new version won't work with the
old version


This I believe is standard libtool behaviour (although I haven't
double checked) although libtool has uses different terms.


For the 2nd case, you can't just increment the major version, this
will break existing software, even though the library is
backward compatible.


I hope that clears up some confusion over version numbers (which
admittedly I am only just beginning to understand myself).
-- 
Brian May <bam@debian.org>



Reply to: