Stephen Gran on 24 Oct 2005 22:37:08 -0000


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

Re: [PLUG] debian conflicts


On Mon, Oct 24, 2005 at 12:31:23PM -0400, sean finney said:
> On Mon, Oct 24, 2005 at 11:59:04AM -0400, Jeff Abrahamson wrote:
> > Can anyone tell me why libmyspell3c2 and libmyspell3 should conflict
> > with each other?  In particular, some apps want one, this causes the
> > other to want to be uninstalled.  But if I were maintaining my
> > machine without package management, I'd be happy to leave them both
> > installed as long as both were needed.  This is what versioning is
> > for.

You couldn't - see below.

> i believe it is because of an incompatible ABI change in the libsdtc++
> libraries upon which the versions of this package is built.  while
> both packages might be able to exist side-by side wrt eachother using
> versioning[1], they are built against conflicting ABI's which thus can
> not live happily together.  
> 
> > This has come up because several apps were removed in a recent
> > dist-upgrade and all of them appear to come down to library
> > versioning issues like this.
> 
> most of them are in fact the exact same versioning issue.  unstable is
> in the middle of a big set of transitions right now, though most of
> the worst (kde et al) is over.  as a general rule, when dist-upgrade
> to testing/unstable wants to do lots of stuff, be wary :)
> 
> 
> 	sean
> 
> [1] which is generally an encouraged practice for shared library
> packagers, and many upstream authors now do directly because debian
> developers have showed them how/why

While you're correct about library versioning, the problem here is ABI,
not API.  Those two packages are the same source code (give or take the
name change), linked to different libstdc++s.  They have all the same
files, export the same symbols, etc.  Having them parallel installed
would do really, er, interesting things when packages built against one
version of libstdc++ try to link to libraries built against another
version of libstdc++.

But, well, welcome to the world of testing :)  The c++ ABI trancition is
almost sorted out in unstable, so it should hit testing pretty soon - I
see they are pushing through large chunks in the next few days.  For
other packages in this sort of situation - the c2 suffix is for the c++
ABI '2', alos sometimes called 1001.  You'll see some packages in sarge
with a suffix c102 - these are remnants of the last transition.  So, in
the case above, if you can live without whatever depends on libmyspell3,
just install the thing that depends on libmyspell3c2.  Then check that
the version of the uninstalled package depends on libmyspell3c2 in
unstable, and file a bug for rebuild if not.

Take care,
-- 
 --------------------------------------------------------------------------
|  Stephen Gran                  | BOFH excuse #136:  Daemons loose in     |
|  steve@lobefin.net             | system.                                 |
|  http://www.lobefin.net/~steve |                                         |
 --------------------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug