Understanding the numbers in package names (?OT)

Michael Bienia michael at vorlon.ping.de
Wed Sep 13 10:56:44 BST 2006

On 2006-09-13 00:08:47 -0700, Constantine Evans wrote:
> As another question in naming strangeness, why do we still have .*c2[a]
>  around? If I recall correctly, this had to do with C++ ABI changes
> relating to gcc version changes. But the naming scheme is not very well
> explained - according to one of the few packages that acknowledged the
> suffixes, c102 is for gcc 3.x, c2 is for gcc 4.x, and no suffix is for
> gcc 2.95, which still doesn't explain c2a.

After c2 the c++ allocator was changed in an ABI-incompatible way which
resulted in a new suffix: c2a

> It appears that these
> suffixes now only serve to add meaningless characters to the ends of
> various library names, probably because it would be somewhat difficult
> to change them back, and doing so would result in little visible gain. I
> am unable to find any cases where the scheme is still being used as
> intended - for example, libxine1 is a real library in main whereas
> libxine1c2 is in multiverse and, despite having essentially the same
> description, is actually is a virtual package that installs extra codecs
> and the obsolete package libxine-main1.

This suffixes were introduced to support partial-upgrades so that no
program with old ABI uses a library with new ABI and reverse. They can
be dropped at the next package name change (e.g. new so version).


More information about the ubuntu-devel mailing list