[ale] Repair Problems

Joe Steele joe at madewell.com
Mon Feb 25 19:32:26 EST 2002


On Monday, February 25, 2002 4:01 PM, John Mills wrote:

> Joe -
>
> Thanks.
>
> I verified the entry and fixed the link, and 'vi' came back to life.
>
> I still have a couple of mysteries - well, three or four.
>
> First, I fixed this once, a couple of weeks ago, then found it messed up
> again (probably related to "Fourth", below).
>
> Second, I still get the same complaint from
>  "rpm -V glibc-2.2.4-19.3" about the messed-up link.
>

Evidently, it has not been recreated exactly as the original.

> Third, should this link have been made on "rpm -U ..."? It was not.

I would expect that 'rpm -U glibc-2.2.4-19.3' would give up 
complaining that the package is already installed.  To force a 
reinstallation, you'd need something like 'rpm -U --replacepkgs 
glibc-2.2.4-19.3'.  On the other hand, you may have been doing this, 
and it could still fail to fix things (see below).

>
> Fourth, there is a script, '/usr/sbin/libc_post_upgrade' which is owned by
> 'glibc-2.2.4-19.3' which actually _creates_ this spurious link, and I
> cannot find any package which owns up providing '/lib/lib.so'.

I would guess that somehow you (accidentally?) renamed or copied some 
different version of ld-2.?.?.so to /lib/lib.so.  Now, every time 
that ldconfig is run, it finds /lib/lib.so, looks in it to see what 
links should be created for it, and proceeds to create the link 
ld-linux.so.2.  Unfortunately, /lib/lib.so doesn't contain the 
version of ld-2.2.4.so that you require (it's missing the symbol 
_dl_cpuclock_offset, for example).  

ldconfig also sees that you have ld-2.2.4.so, but it doesn't create a 
link from it to ld-linux.so.2, probably because it thinks that 
/lib/lib.so is the more recent version (or something like that).  

Of course, ldconfig is run whenever you reboot, thus explaining why 
things you thought were fixed end up being broken again.  

ldconfig is also run (via /usr/sbin/libc_post_upgrade) as a post 
installation script when you install glibc-2.2.4-19.3.  Consequently, 
reinstalling glibc-2.2.4-19.3 may never fix your problem until you 
get /lib/lib.so hidden away so ldconfig can't find it.

You could probably:

   objdump /lib/lib.so | less

and you will see somewhere:

   SONAME   ld-linux.so.2

This is what ldconfig is using to create the errant link.  This would 
also confirm what '/lib/lib.so' is.  You might be able to compare its 
file size with other ld-2.?.?.so files that you have been playing 
with and figure out exactly where it came from.

The bottom line seems to be:  get rid of /lib/lib.so.

--Joe


---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list