11

While upgrading from 11.10 to 12.04 the upgrade stalled because it said xscreensaver needed to be uninstalled. I tried to open a terminal but the system wouldn't respond. So I did a hard boot and now I can't get past the Ubuntu loading screen. When I got to the root screen I get a message:

mountall: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /lib/libpllibply.so.2

I don't really know what to do from this point on.

bain
  • 12,200
Curt
  • 111

4 Answers4

8

I had this problem today and solved it a few minutes ago.

Short answer:

  • Download Ubuntu's 12.04 live-cd
  • Boot it an "Try it"
  • Open terminal
  • Mount your broken partition
  • Copy the live cd's libc (version 15) into your partition
  • Fix your partition's libc.so.6 symlink
  • mount sysfs, bind and proc on your partition
  • chroot it
  • apt-get -f install
  • apt-get dist-upgrade

Here's a list of commands (copy/pasted, not sure I missed something, make sure you use the appropriate device instead of sda5, I'm using 64bit linux):

sudo -i
cd /mnt
mkdir sda5
mount /dev/sda5 sda5
cp /lib/x86_64-linux-gnu/libc-2.15.so sda5/lib/x86_64-linux-gnu/
cd sda5/lib/x86_64-linux-gnu
rm libc.so.6
ln -s libc-2.15.so libc.so.6
cd /mnt
mount -t sysfs sys sda5/sys
mount -o bind /dev sda5/dev
mount -t proc proc sda5/proc
chroot sda5
ls # make sure ls does not complain about libc!
apt-get -f install
apt-get dist-upgrade

The system told me there are 400 packages to upgrade and now it's upgrading... After it finishes I'll reboot and check if everything is fine.

If I need to do something else after the dist-upgrade I'll edit this post.

[EDIT]: The upgrade went fine. Then I rebooted and could log in (I use Xfce). Wireless was not working, but a single modprobe brcmsmac made it work. Now I'm running the system janitor to remove the old packages.

pzanoni
  • 206
1

So if you run sudo dpkg --configure -a does it finish the upgrade? Another option to try if it will let you sudo apt-get install --fix-missing. To get into recovery mode....

Got this on the Ubuntu wiki here: https://wiki.ubuntu.com/RecoveryMode

Switch on your computer Wait until the BIOS finishes loading (you will probably see a logo of your computer manufacturer) The following messages will show up:

Grub loading stage1.5

Grub loading, please wait...

Press ESC to enter the menu Quickly press the Escape key, which will bring up a boot menu. (If you see the Ubuntu logo, you've Select the line ending with '(recovery mode)', probably the second line, something like:

Ubuntu, kernel 2.6.17-10-generic (recovery mode) Press enter and your machine will begin the boot process. After a few moments, your workstation should display a menu with a number of options. One of the options (you may need to scroll down to the bottom of the list) will be "Drop to root shell prompt".

Brett
  • 194
0

You can boot from a cd or usb then mount the file system chroot to the mount point and run sudo apt-get install -f --fix-missing.

  1. Boot from usb
  2. open terminal
  3. cd /mnt
  4. sudo mkdir /mnt/brokesystem
  5. sudo mount /dev/*sda1* /mnt/brokesystem * note /dev/sda1 may be something else /dev/...
  6. sudo chroot /mnt/brokesystem
  7. sudo apt-get install -f --fix-missing (you may be prompted to restart service and get errors that service is not able to be restarted, this is ok)
  8. When update is done reboot (remove alternate boot device cd/usb)
  9. Should load normally (it may take a little longer to boot the first time)
Kevin Bowen
  • 20,055
  • 57
  • 82
  • 84
Andrew
  • 1
-1

See if you can boot off your 12.04 media and perform a CD upgrade of the system. (Assuming it still thinks it is 11.10 hopefully)

Mordoc
  • 2,074