Sunday, November 25, 2012

Pogoplug Arch Linux glibc update error

I have not updated Arch Linux on my Pogoplug for a period of time. When I finally tried to update it, I encountered dreaded glibc: /lib exists in filesystem error. I have tried all resources that I could find and was not able to update glibc. I was able to update all packages including linux by making symlink to usr/lib but not the glibc itself.

The funny thing is that I already had later glibc which was recommended on the archWiki site, but nothing worked. At the end I used -f flag on pacman command line and that broke the system. Do not use --force flag as it WILL break your system.
Fortunately for me I keep all important data on a drive which is separate from my system drive. I unmounted the data drive and  re-installed linux following original instructions. This time it went smooth as I already discovered and documented all pitfalls.

The best outcome without upgrading glibc would be achieved by following  these instructions. You will get linux installation error but everything else will install correctly. At this point you should uninstall linux but do not reboot! Next make symbolic link:
ln -s /usr/lib/modules /lib/modules
After this reinstall linux and it should install without any errors. Now you can reboot. You should have an updated system but with older glibc. If you know how to update glibc please post it in the comments.

After killing my system with --force, I simply deleted all data from my system drive and reinstalled from scratch. This took me less time then I spend on doing all of the experiments to fix the glibc error. The rolling distribution is not so "rolling" after all. You can get it in to a state in which it is not upgradable by simply lapsing your upgrades for a period of time.

3 comments:

mb said...

Thanks for the post

Anonymous said...

are you also a Raspberry Pi user?

xwin said...

No. I deal too much with embedded hardware at work to also do it for fun.