[Fwd: How To Recover From Missing /lib/libc.so.7? -- SOLVED!!!

Drew Tomlinson drew at mykitchentable.net
Fri Aug 7 23:17:05 UTC 2009

Chris Ruiz wrote:
> On Fri, Aug 7, 2009 at 1:51 PM, Drew Tomlinson<drew at mykitchentable.net> wrote:
>> Boris Kochergin wrote:
>>> Drew Tomlinson wrote:
>>>> I was running FreeBSD8.0-BETA2 amd64 and attempted to upgrade with
>>>> current sources as of yesterday (8/6/09). I successfully built world and
>>>> kernel, and installed the kernel. However when I attempted to install
>>>> world, I got this error:
>>>> ===> lib/libc (install)
>>>> install -C -o root -g wheel -m 444   libc.a /usr/lib
>>>> install -C -o root -g wheel -m 444   libc_p.a /usr/lib
>>>> install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
>>>> install: /lib/libc.so.7: chflags: Invalid argument
>>>> *** Error code 71
>>>> Stop in /usr/src/lib/libc.
>>>> *** Error code 1
>>>> And now I can't do anything as every command fails with:
>>>> /libexec/ld-elf.so.1: Shared object "libc.so.7" not found
>>>> How can I recover from this error?
>>>> Thanks,
>>>> Drew
>>> There are statically-linked versions of essential utilities in
>>> /rescue/. For example, you can use /rescue/mount_nfs to mount an NFS
>>> server with the files you need, then /rescue/cp to copy them to your
>>> system.
>> Thanks for the reply.  As I mentioned in my reply to Jakob Lach, I
>> really have no business running -CURRENT but loaded BETA2 because the
>> release is expected soon.
>> So basically I have the rescue tools and the BETA2 cd.  Can I just mount
>> the BETA2 CD, search for libc.so.7, can copy it to /lib?  Will that give
>> me enough to attempt grabbing updated sources and trying again.  Or
>> should I just somehow install world from the BETA2 CD and move
>> /boot/kernel.old back to /boot/kernel?  If so, how?
> You must specify NO_FSCHG= when you installworld on an unupgraded ZFS
> filesystem, otherwise you will lose libc.so.7!  I'll spare you the
> details on why this happens.
> Here's a quick fix:
> #/rescue/cp /usr/obj/usr/src/lib/libc/libc.so.7 /lib

Thanks, this worked perfectly.

For those like me that might not understand how to "specify NO_FSCHG=",
I Googled and found "make installworld NO_FSCHG=" is the way in this
case.  After restoring libc.so.7 and redoing the installworld,
everything seems fine.

For my own info, is this something that's documented somewhere and I
missed it?  Or is this just one of those quirks that has come up and
will likely be fixed before the release?



Be a Great Magician!
Visit The Alchemist's Warehouse


More information about the freebsd-current mailing list