SUMMARY: problem with ld and shared library

From: Derrick J. Brashear (shadow@alycia.andrew.cmu.edu)
Date: Thu Dec 03 1992 - 14:57:45 CST


I ended up using miniroot from the release tapes to restore. I loaded miniroot and then mounted /usr as /u so I could work on the libraries. I copied the ld.so and libc.so.0.15 from miniroot into my /usr/lib. This didn't take on reboot, so I did this to remove the corrupt library:
mv libc.so.0.15 libc.so.0.15.1
mv libc.so.0.15.1 libc.so.0.15
and the rebooted and it booted fine.
Many people pointed out that cp is dynamically linked to the shared library, while mv is not, and I should have used mv.
poffen@sj.ate.slb.com (Russ Poffenberger) writes:
>Ooohh, copying a shared library in use on a system is a REAL bad no-no. The
>proper procedure is to copy your new one to a new file name in /usr/lib, like
>libc.so.0.15.1.new, then on a single command line, use mv to move the old one
>to a different filename, and mv the new one to the proper name, ie..
>
>mv libc.so.0.15.1 libc.so.0.15.1.old;mv libc.so.0.15.1.new libc.so.0.15.1
>
>You must then leave the old file around until you reboot and you make sure
>no processes depend on it.
which I should have realized at the time, but I was running 36 hours on 2 hours sleep, and, well, you know how it goes:-)
Also... I then recompiled Resolv+ 2.1 beta (which is what I was trying to install when I made my little cp mistake). I moved the new libresolv.a and libc.so.0.15.1 to /usr/lib, but OpenWindows refused to use it.
ray@isor.vuw.ac.nz writes:
>I would try a symbolic link to 0.15.1 from 0.15. Don't remove the 0.15
>library though, just rename it (you may still need it). Then rerun
>ldconfig with the appropriate directories. I have found that running
>strings on /etc/ld.so.cache gives useful information as to what is going
>on. But I still have yet to come completely to grips with when an
>executable will use ld.so.cache, and when it insists on a specific path
>name to a shared library (hence symbolic links can be useful).
While this may not be the most correct method (I would imagine if I had the OW source, recompiling that would be) but it works.

Thanks to:
dgw@saturn.sys.acc.com (Debby Wyron)
chris@invmms.worldbank.org (Chris Bulle)
Dan Ehrlich <ehrlich@cs.psu.edu>
ray@isor.vuw.ac.nz
mharris@jpmorgan.com (Michael Harris)
sitongia@ozzel.hao.ucar.edu (HAO Computer System Managment Group)
poffen@sj.ate.slb.com (Russ Poffenberger)
John Luke <jluke@deakin.oz.au>
Postmaster <Piete.Brooks@cl.cam.ac.uk>
ups!upstage!glenn@fourx.aus.sun.com (Glenn Satchell)
brossard@sasun1.epfl.ch
And anyone whose mail I may have lost shifting between one machine and the other.

-D

--
Derrick J. Brashear                | I speak for myself,
Box 836  5115 Margaret Morrison St.| as does Carnegie Mellon
Pittsburgh PA 15213-3890           |



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:53 CDT