From: Doug Ronne <[EMAIL PROTECTED]>
Reply-To: Doug Ronne <[EMAIL PROTECTED]>,LFS Support List <[email protected]>
To: LFS Support List <[email protected]>
Subject: Re: Restore ld-2.3.2-so : can I do this?
Date: Mon, 14 Mar 2005 18:35:14 -0800
On Mon, 14 Mar 2005 18:04:22 -0700, lin q <[EMAIL PROTECTED]> wrote:
> Hi,
> I have Fedora Core 1 installed on my PC and on a spare partition I am
> trying to build a minimal Linux from scratch.
>
> The thing is when I come to install glibc, the libraries are messed up:
> newly compiled ld-2.3.2.so overriding the old one coming with Fedora Core,
> and now I can not run any simple command.
>
> I checked /lib directory, it seems ld-2.3.2.so is the only one get
> overwritten, so I am trying to restore it like this:
>
> 1) extract ld-2.3.2.so from Fedora Core CD, glibc RPM
> 2) use Knoppix to boot the PC
> 3) copy over ld-2.3.2.so
>
> It seems reasonable to me, but I got some problem.
>
> 1) I see several glibc-2.3.2 RPM on the first CD of Fecora Core,
> glibc-common.2.3.2-101.i386.rpm, glibc-2.3.2-101.i386.rpm and
> glibc-2.3.2-101.i686.rpm. I wonder which one I should use? My PC is Celeron
> 366MHz. Because I can not run rpm on my PC, I really do not know which
> original RPM glibc is.
>
> 2) How to extract a particular program from a rpm package? I can load the
> CD on another linux machine, but I do not have root permission on it, -- and
> I do not want to override any library on it. I tried this way:
> * edit ./.rpmmacro and define %_topdir to my local directory
> * rum "rpm -i <one of the 3 glibc rpm packages>
> but I get some errors saying can not lock some file under root, permission
> denied.
>
> Could you please help me on this?
>
> Thanks.
Can you run the file command? That should at least tell you whether you are interested in the 386 or 686 ld. For instance, when I run file on a library in my 32 bit lib I get:
[EMAIL PROTECTED]:/usr/lib> file libisccc.so.0.1.0 libisccc.so.0.1.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),not stripped
which says it is Intel 80386 (i386) whereas when I run it on a 64 bit library I get :
[EMAIL PROTECTED]:/usr/lib64> file libisccc.so.0.1.0 libisccc.so.0.1.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
which says x86-64.
-Doug
OK, I tried "file" command and the result is confusing: all the libraries return "Intel 80386", so I used the ld-2.3.2.so from i386 RPM, but it does not work. Then I extact the library from i686 RPM, it works now!
Then I issued "file" command on an Intel XEON computer, this is newest Intel processor, it also returns me "Intel 80386".
Seems to me file command return is not accurate.
Or the i386/i686 tag on the RPM name is not accurate? I do see some RPM which only have i386, no i686.
It will be good someone can clarify this.
Thanks.
_________________________________________________________________
Don�t just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
