[M3devel] trouble installing on a Debian lenny system.

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Tue Apr 8 02:36:30 CEST 2008


On Mon, Apr 07, 2008 at 12:03:50PM +0200, Olaf Wagner wrote:
> Quoting hendrik at topoi.pooq.com:
> 
> >On Sun, Apr 06, 2008 at 11:29:48AM -0400, Tony Hosking wrote:
> >>You should have a link from libXaw.so, etc.
> >
> >It turns out that link was in the package libXaw7-dev, which was missing
> >on both my 64- and 32-bit systems.
> 
> This sounds broken to me.
> 
> M3 has been changed some time ago to look for shared objects instead of
> archives, as the latter are often not installed on modern systems, but
> come only as part of development packages.
> 
> But there must be a simple unique name for the resource; we cannot
> per default refer to libXaw.so.7.0 or similar, since this would
> need more updates and maintenance and would break if another version
> is actually installed.
> 
> So I don't see a reason for this kind of link to be in the development
> packages. Should we report this as a bug?

I suppose that depends on whether the linker and loader understand the 
version numbers in the name and does the right thing in the absence of 
links.  I know there's a convention as to which parts of the versin 
number indicate compatible vs incompatible changes.  I thought that 
compatible alternatives could be found automatically at load time, and 
(I thought) the wrong alternatives would not be.  I don't know whether 
the mechanism for this is symbolic links.  I suppose it could be.

So I don't know whether this is a bug.  The major version number changes 
for incompatible changes.  If the linker links a program to a particular 
shared library, changes in the minor version wouldn't matter, but change 
in the major version likely would.  So I'd guess that the linker would 
include a reference to the particular major version in the linked 
binary, not a reference to the versin-free file name.  Thus the 
version-free library name would not be needed just for running the 
binary.  It might end up referring to an incompatible version.

I could be wrong, of course.  I'm just trying to guess what Debian's 
reasoning might have been.

 -- hendrik



More information about the M3devel mailing list