Problem with libc6 and libc6-amd64 while attempting to upgrade to libc6 2.34
So the core of the problem started after Ubuntu prompted me to upgrade. I am on Ubuntu 18.04.5 (Bionic Beaver). After the upgrade, I tried starting my browser to no avail. So I navigated to the binary in a terminal, ran it, and got this error:
user@computer:~/Files/Apps/Waterfox$ ./waterfox
XPCOMGlueLoad error for file /home/user/Files/Apps/Waterfox/libnspr4.so:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.30' not found (required by /home/user/Files/Apps/Waterfox/libnspr4.so)
Couldn't load XPCOM.
Naturally, I tried upgrading the libc and libc-amd64 packages to their latest version (2.34) however when I downloaded and installed the .deb
with dpkg, I majorly screwed up my system and now this error comes up every time I re-run the command.
user@computer:~/Downloads$ sudo dpkg -i ./libc6-amd64_2.34-0ubuntu2_i386.deb ./libc6_2.34-0ubuntu2_i386.deb
(Reading database ... 317143 files and directories currently installed.)
Preparing to unpack .../libc6-amd64_2.34-0ubuntu2_i386.deb ...
Unpacking libc6-amd64:i386 (2.34-0ubuntu2) over (2.34-0ubuntu2) ...
Replaced by files in installed package libc6:amd64 (2.27-3ubuntu1) ...
Preparing to unpack ./libc6_2.34-0ubuntu2_i386.deb ...
Unpacking libc6:i386 (2.34-0ubuntu2) over (2.34-0ubuntu2) ...
dpkg: error processing package libc6:i386 (--install):
package libc6:i386 2.34-0ubuntu2 cannot be configured because libc6:amd64 is at a different version (2.27-3ubuntu1)
dpkg: dependency problems prevent configuration of libc6-amd64:i386:
libc6-amd64:i386 depends on libc6 (= 2.34-0ubuntu2); however:
Package libc6:i386 is not configured yet.
dpkg: error processing package libc6-amd64:i386 (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libc6:i386
libc6-amd64:i386
After this, I tried using sudo apt upgrade
:
user@computer:~/Downloads$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libc6 : Breaks: libc6:i386 (!= 2.27-3ubuntu1) but 2.34-0ubuntu2 is installed
libc6:i386 : Depends: libgcc-s1:i386 but it is not installable
Depends: libcrypt1:i386 (>= 1:4.4.10-10ubuntu4) but it is not installable
Breaks: locales (< 2.34) but 2.27-3ubuntu1.4 is installed
Breaks: locales-all (< 2.34)
Breaks: locales-all:i386 (< 2.34)
Recommends: libidn2-0:i386 (>= 2.0.5~) but 2.0.4-1.1ubuntu0.2 is installed
Recommends: libnss-nis:i386 but it is not installable
Recommends: libnss-nisplus:i386 but it is not installable
Breaks: libc6 (!= 2.34-0ubuntu2) but 2.27-3ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
So this tells me to use fix broken install command. Using sudo apt --fix-broken install
is telling me that it will remove 175 packages, so that's an absolute no-go. The packages it wants to remove are essential, like playonlinux, wine, steam, code, etc. basically stuff i use every day.
All in all, pretty much every app still works on my computer, but I can't use my browser (using chrome temporarily right now) and I can't install new packages. I don't want to risk restarting my PC in case of some major screw-up, so I need to fix this before the next restart. Any ideas?
Solution 1:
I solved the issue for myself by checking what packages
--fix-broken
would've actually removed, and it wasn't actually anything that bad. Ran that and it fixed the problem, with a little help from the Software Updater.I am leaving this question up though, just in case somebody wants to answer the theoretical problem of using a newer GLib version on an older Ubuntu version.
(Solution moved here from the OP's question)