My package management system appears to be broken.
It looks to me as if the cause is the proprietary NVIDIA driver for my graphics card (nvidia-driver-390, proprietary, tested), but when I try to revert to the default X.Org X Server, whenever I go back into 'Software & Updates' no change has occurred.
This is the output I receive when I try to install a package:
sudo apt-get install birdfont
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:
birdfont : Depends: libxmlbird1 but it is not going to be installed
Depends: fonts-roboto but it is not going to be installed
Recommends: unicode-data but it is not going to be installed
**libnvidia-ifr1-390 : Depends: libnvidia-gl-390 but it is not going to be installed**
libnvidia-ifr1-390:i386 : Depends: libnvidia-gl-390:i386 but it is not going to be installed
**nvidia-driver-390 : Depends: libnvidia-gl-390 (= 390.48-0ubuntu3) but it is not going to be installed**
Recommends: libnvidia-gl-390:i386 (= 390.48-0ubuntu3)
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)
Output of sudo apt-get install -f
sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
clamav-base clamav-freshclam lib32gcc1 libc6-i386 libclamav7 libgsoap-2.8.60 libllvm3.9 libqt5opengl5
libtext-csv-perl libtext-csv-xs-perl libtfm1 libvncserver1 xserver-xorg-legacy
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed:
libnvidia-gl-390 libnvidia-gl-390:i386
0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded.
3 not fully installed or removed.
Need to get 29.1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://il.archive.ubuntu.com/ubuntu bionic/restricted i386 libnvidia-gl-390 i386 390.48-0ubuntu3 [14.9 MB]
Get:2 http://il.archive.ubuntu.com/ubuntu bionic/restricted amd64 libnvidia-gl-390 amd64 390.48-0ubuntu3 [14.3 MB]
Fetched 29.1 MB in 9s (3,325 kB/s)
(Reading database ... 253938 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so to /usr/lib/i386-linux-gnu/libGL.so.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so by libnvidia-gl-390'
found 'diversion of /usr/lib/i386-linux-gnu/libGL.so to /usr/lib/i386-linux-gnu/libGL.so.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb (--unpack):
new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb (--unpack):
new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
`
**sudo apt -fix-broken install**
sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
clamav-base clamav-freshclam lib32gcc1 libc6-i386 libclamav7 libgsoap-2.8.60
libllvm3.9 libqt5opengl5 libtext-csv-perl libtext-csv-xs-perl libtfm1
libvncserver1 xserver-xorg-legacy
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed:
libnvidia-gl-390 libnvidia-gl-390:i386
0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded.
3 not fully installed or removed.
Need to get 0 B/29.1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
(Reading database ... 253938 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so to /usr/lib/i386-linux-gnu/libGL.so.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so by libnvidia-gl-390'
found 'diversion of /usr/lib/i386-linux-gnu/libGL.so to /usr/lib/i386-linux-gnu/libGL.so.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb (--unpack):
new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb (--unpack):
new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
I've tried the recommended command but the problem hasn't been resolved.
Any ideas to help troubleshoot?
Unorthdox solution: attempting to manually remove the Nvidia packages and autoremove both failed, but download a .deb from the internet and using gdebi appears to have removed the offending packages and given me back my package manager!
(Update: package manager broken again after installing daily updates which presumably re-added the offending packages. Have gone around in circles since.)