I installed Antergos yesterday with the Cinnamon DE. After using it for a while, I got a notification for updates to some core packages, and I thought "hey, being up to date is good right? Why not" and updated everything.
Today, I found that I'm unable to login. Luckily I was able to get a tty prompt and install Xfce4 from where I could go hunting on the internet for the solution.
It turns out that those updates I did included upgrading readline from 6.3 which I had to 7.0. cinnamon-desktop apparently relies on 6, so I started getting errors like:
cinnamon: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
Of course just finding this error message in the first place took some hunting.
Indeed, I had only /lib/libreadline.so.7, so that explains the problem. I then assumed the easy solution is to just install the old version as /lib/readline.so.6 and that's that, but I had trouble figuring out how to do it in pacman and it turns out this isn't something encouraged in Arch.
Eventually I followed the advise from a thread about this problem and simply downgraded my readline to 6.3 from the pacman cache, and also bash since it depends on readline. Now cinnamon works as before. I see these two packages in the update notifier and I know that if I install them it will break my system.
My question is this: Is this sort of thing (updates suddenly breaking everything) expected behavior with Arch and/or Antergos? Is there some sort of "stable" channel that I could use instead, to receive updates only after they've been out for a while and tested in the real world?
I was planning to spend my morning doing work, but instead I spent it fixing a bug caused by an update. What did I do wrong? How do experienced Arch users handle this?
- Should I have just not installed updates unless I absolutely needed them? (but what about security and vulnerabilities?)
- Should I have only installed updates on a regular schedule, and made time for inevitable troubleshooting afterwards?
- Should I have configured my repositories/update settings differently to not get the latest updates?
- Is this expected behavior and you're supposed to just get used to rolling back from the cache?
Addendum: The issue with Cinnamon is included only as an example, but to await confusion from future readers, I should not that it is apparently now been fixed (7 hours after bug was opened) by rebuilding cinnamon. Looks like I got very "lucky" - I updated just when readline 7 was pushed out, but before the Cinnamon maintainers could catch and fix it.