FS#15335 - upgrading readline destroyed my system

Attached to Project: Arch Linux
Opened by Matěj Týč (bubla) - Wednesday, 01 July 2009, 21:36 GMT
Last edited by Roman Kyrylych (Romashka) - Wednesday, 01 July 2009, 22:35 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I have upgraded gphoto2 and readline as a dependency along.
The results are catastrophic, since bash and dash can't find the old libreadline version.
Therefore every time I want to log in, I get this error:

error while loading shared libraries: libreadline.so.5

I think that bash's PKGBUILD should be written very carefully since it is the root of everything.
Is there a way how to avoid these "catastrophies"?

IMO this can also happen if mirrors sync with new readline and old bash...

Additional info:
* package version(s)
readline 6.0.00-1
bash 3.2.048-3

Steps to reproduce:
Leave bash untouched, but upgrade readline / install the packages mentioned under Additional info

I guess that I will solve this by booting a rescue CD and chrooting... I have already closed all root terminals :-)
This task depends upon

Closed by  Roman Kyrylych (Romashka)
Wednesday, 01 July 2009, 22:35 GMT
Reason for closing:  Not a bug
Comment by Pierre Schmitz (Pierre) - Wednesday, 01 July 2009, 21:47 GMT
Just run pacman -Syu. Keeping old packages is not really supported.
Comment by Matěj Týč (bubla) - Wednesday, 01 July 2009, 21:49 GMT
Actually running 'su -s /bin/dash' enabled running pacman -Sy bash and thus restoring bash for me.
Phew...
Comment by Matěj Týč (bubla) - Wednesday, 01 July 2009, 21:53 GMT
I couldn't run pacman -Syu because I could not log in!
And in order to become root (if you are not root already) and install stuff with pacman, you have to log in.
Even gksudo was not able to do anything and I was not able to open new terminals...
Comment by Roman Kyrylych (Romashka) - Wednesday, 01 July 2009, 22:19 GMT
You can boot from Arch installation CD, setup your network, mount your partition(s) to /mnt then run
pacman -Syu --root /mnt --dbpath /mnt/var/lib/pacman --cachedir /mnt/var/cache/pacman/pkg --logfile /mnt/var/log/pacman.log --config /mnt/etc/pacman.conf

EDIT: or you can chroot into your system as described in http://wiki.archlinux.org/index.php/Boot_loader_recovering#Complicated and then just run pacman -Syu
Comment by Roman Kyrylych (Romashka) - Wednesday, 01 July 2009, 22:33 GMT
> I think that bash's PKGBUILD should be written very carefully since it is the root of everything.
> Is there a way how to avoid these "catastrophies"?

Do not do this:

> Leave bash untouched, but upgrade readline

As for the mirrors being synced while packages are moved from one repo to another - it is a rare situation, but nevertheless there is a report about this and maybe it will be somehow resolved in future (it depends on how mirrors implement syncing).

Anyway this report is going to be closed as "Not a bug".

Loading...