Re: ld links static after upgrading libc

Kristofer T. Karas (ktk@ktk.bidmc.harvard.edu)
Mon, 13 Jan 1997 23:09:08 -0500


Date: Mon, 13 Jan 1997 19:53:04 +0100
From: Alessandro Suardi <asuardi@uninetcom.it>

Chris Y. wrote:
> I seem to be having a problem that I can't explain.

Check symlinks. You should have:
/lib/libc.so.5 -> /lib/libc.so.5.4.17
/lib/libc.so -> /lib/libc.so.5
/usr/lib/libc.so.5 -> /lib/libc.so.5

You got two of those backwards. The libc.so goes in the same
directory as libc.a, namely /usr/lib (not /lib). And the libc.so.5 in
the /usr/lib directory has no effect, as the linker won't look for it
there (it will look for it in the same directory as the
libc.so.5.4.17).

In order for `ld' to make a shared library reference rather than
statically include code, it must find the libFOO.so file before it
finds the libFOO.a file; unless you know the search order, the
convention is to put both in the same directory. Hence, you should
have:

/lib/libc.so.5 -> /lib/libc.so.5.4.17 # Built automatically by ldconfig.
/usr/lib/libc.so -> /lib/libc.so.5 # Built by hand.
/usr/lib/libc.a # Normal location of libc.a

______________________________________________________________________________
Kristofer Karas - Sr Clinical Sys Admin - Beth Israel Deaconess Medical Center
mailto:ktk@ktk.bidmc.harvard.edu http://ktk.bidmc.harvard.edu/~ktk/
AMA/CCS, DoD, RF900RR, HawkGT, !car - Will design LISP machines for food :-)
"Health nuts are going to feel stupid someday, lying in hospitals dying
of nothing." -- Redd Foxx
------------------------------------------------------------------------------