With the arrival of Solaris 10, the instructions of Recovering from a Runtime Linker Failure
web page became obsolete. Since this problem appears to be very common, thought it would be useful to document it.
Symptom: For all commands, system responds (only) with the following error:
Cannot execute /usr/lib/ld.so.1
Due to the Solaris Process Model Unification, all static binaries were removed
from Solaris 10 distribution. One simple workaround is to pro-actively copying the essential static executables (esp.,
), from an earlier version of Solaris to Solaris 10; and using 'em when/where needed.
However even if the session is gone by accident, no need to panic. The recovery steps are very simple (assuming there is a backup
on the machine, running Solaris 11):
Recovery steps on earlier versions of Solaris:
- Turn the machine on, with the installation media in the CD/DVD drive
Solaris in the initial GRUB screen
6. Single user shell from the interactive menu, when you are prompted to select an installation type.
- The disk on which the OS was installed will be shown, before you get to the
single user command prompt.
SunOS Release 5.11 Version snv_17 32-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Searching for installed OS...
/dev/dsk/c1d0s0 -- Solaris 11 nv_17 X86
- Respond with a
No to the next question:
Do you wish to automatically update boot archives? [y,n,?]
- At this point, you will be at the command prompt. The next step is to mount the
root file system (
/) on some mount point say
# mount /dev/dsk/c1d0s0 /mnt
- Restore the original run-time linker,
# cd /mnt/usr/lib
# cp ld.so.1.orig ld.so.1
- Unmount the root file system, eject the CD/DVD, and reboot
# cd /
# umount /mnt
- Recovering from a Run-time Linker Failure I
- Recovering from a Run-time Linker Failure II
Technorati tags: Solaris