Coda File System

Re: problems with .so names in Debian

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 18 Nov 2003 14:24:47 -0500
On Mon, Nov 17, 2003 at 07:07:07PM +0900, Stephen J. Turnbull wrote:
> Things that are not proper names for shared libraries are finding
> their way both into the link step and into the installation, see
> below.  I suspect breakage in libtool or configure (which creates the
> libtool script), but have no expertise there at all.
> 
> This is an old install, but a fairly recent CVS update (a week ago at
> most) showed the same problem with liblwp as this has with librpc2.3
> (ie, no '.so' extension).  It seems to work at runtime.
>
> bash-2.05b$ ldd `which clog`
>     librpc2.3 => /usr/lib/librpc2.3 (0x40024000)
>     liblwp.so.2 => /usr/lib/liblwp.so.2 (0x4004b000)

Interesting.

> bash-2.05b$ ls -l /usr/lib/librpc*
> lrwxrwxrwx        16 2003-11-17 09:37 /usr/lib/librpc2.3 -> librpc2.so.3.2.2

This is definitely wrong, These links are normally created by ldconfig,
but I believe that the actual name originates from something built into
the library.

I have the following,

-rw-r--r--    1 root     root      1240964 Nov 13 17:24 /usr/lib/librpc2.a
-rwxr-xr-x    1 root     root          798 Nov 13 17:24 /usr/lib/librpc2.la
lrwxr-xr-x    1 root     root           16 Nov 13 17:24 /usr/lib/librpc2.so -> librpc2.so.3.2.2
lrwxr-xr-x    1 root     root           16 Nov 13 17:24 /usr/lib/librpc2.so.3 -> librpc2.so.3.2.2
-rwxr-xr-x    1 root     root       647282 Nov 13 17:24 /usr/lib/librpc2.so.3.2.2

The librpc2.so.3 link is created by ldconfig. I believe librpc2.so is
used by the dynamic linker and created by libtool at the same time it
installs the librpc2.{a,la} files.

> NB the link librpc2.3 used to have the same date as the other links,
> but I "cleaned it up" when I found it and then found myself forced to
> restore it.

My guess is that you created the link with the wrong name, but the
dynamic linker somehow figures out which library it really is, possibly
because of the contents of the ld.so.cache. Remove that link and run
ldconfig -v, it should fix things up correctly.

Jan
Received on 2003-11-18 14:27:51