Debian – `apt –fix-broken` is broken (`uim` has circular dependencies)

aptdebiandpkg

TL;DR

  • $ sudo apt upgrade recommends I use $ sudo apt --fix-broken install.
  • $ sudo apt --fix-broken install is broken because /var/cache/apt/archives/uim-data_1%3a1.8.8-6_all.deb (--unpack) fails.
  • The .deb package fails because /usr/share/uim/lib/sigscheme-init.scm does not exist.
  • I can't fix /usr/share/uim/lib/sigscheme-init.scm with $ sudo apt upgrade because $ sudo apt upgrade is broken.

Full Question

I'm on Debian. My Wi-Fi went out right in the middle of a large $ sudo apt update; sudo apt upgrade. I don't know if that caused my problem, but since then I've been unable to $ sudo apt upgrade.

When I try to $ sudo apt upgrade I get the following error:

me@debian:~$ 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:
 libuim-plugins : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim : Depends: uim-common (= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-anthy : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-fep : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-gtk2.0 : Depends: uim (= 1:1.8.8-6)
              Depends: uim-gtk2.0-immodule (= 1:1.8.8-6) but it is not installed
              Depends: uim-data (>= 1:1.8.8-6) but it is not installed
 uim-gtk3 : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-qt : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-qt5 : Depends: uim (= 1:1.8.8-6)
           Depends: uim-qt5-immodule (= 1:1.8.8-6) but it is not installed
           Depends: uim-data (>= 1:1.8.8-6) but it is not installed
 uim-utils : Depends: uim-common (>= 1:1.8.6+gh20161003.0.d63dadd-2) but it is not installed
 uim-xim : Depends: uim (>= 1:1.8.8-6)
           Depends: uim-data (>= 1:1.8.8-6) but it is not installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

The $ sudo apt autoremove command gives a similar error and also recommends I run $ apt --fix-broken install

So, of course, I run $ sudo apt --fix-broken install.

me@debian:~$ 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:
  libqt4-designer libqt4-network libqt4-qt3support libqt4-script libqt4-sql libqt4-sql-mysql
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  uim uim-anthy uim-data uim-fep uim-gtk2.0-immodule uim-gtk3 uim-gtk3-immodule uim-plugins uim-qt5-immodule
The following packages will be REMOVED:
  libuim-plugins uim-qt uim-utils
The following NEW packages will be installed:
  uim-data uim-gtk2.0-immodule uim-gtk3-immodule uim-plugins uim-qt5-immodule
The following packages will be upgraded:
  uim uim-anthy uim-fep uim-gtk3
4 upgraded, 5 newly installed, 3 to remove and 147 not upgraded.
7 not fully installed or removed.
Need to get 0 B/1,411 kB of archives.
After this operation, 4,686 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
dpkg: considering deconfiguration of uim-anthy, which would be broken by installation of uim-data ...
dpkg: yes, will deconfigure uim-anthy (broken by uim-data)
(Reading database ... 338130 files and directories currently installed.)
Preparing to unpack .../uim-data_1%3a1.8.8-6_all.deb ...
De-configuring uim-anthy (1:1.8.6+gh20161003.0.d63dadd-2) ...
Error: in load: file "/usr/share/uim/lib/sigscheme-init.scm" not found
dpkg: error processing archive /var/cache/apt/archives/uim-data_1%3a1.8.8-6_all.deb (--unpack):
 installed uim-anthy package pre-removal script subprocess returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/uim-data_1%3a1.8.8-6_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

As you can see, apt complains that the file /usr/share/uim/lib/sigscheme-init.scm does not exist. This is true. The directory /usr/share/uim/ does exist but it contains no lib/ directory within it.

I don't know how to correct this because I'd normally fix it with $ sudo apt upgrade. But running $ sudo apt upgrade terminates with an error.

I tried searching for solutions elsewhere but this answer doesn't work and this suggests I might be in "circular dependency hell". This reddit thread recommends I run $ sudo apt dist-upgrade but dist-upgrade is also broken by this issue.

I've tried uninstalling my uim libraries with sudo apt remove <uim-package-name> but this doesn't get ride of the unmet dependencies error.

It might be that the I should find a sigscheme-init.scm file somewhere somewhere on the Internet, create a /usr/share/uim/lib/ directory and copy the .scm file there (along with whatever other files it comes with). But this seems hard, hacky and gross and I'm scared it might break something.

Is there a better way to approach this problem? Perhaps with apt or dpkg? Or maybe just reinstalling all of my uim-related libraries somehow?

Other stuff I've tried

  • $ sudo apt upgrade -f fails.
  • $ sudo apt reinstall <uim-something> results in the same error.

Here's what happens when I run dpkg --configure -a

me@debian:~/writing/personal$ sudo dpkg --configure -a
dpkg: dependency problems prevent configuration of uim-xim:
 uim-xim depends on uim (>= 1:1.8.8-6); however:
  Version of uim on system is 1:1.8.6+gh20161003.0.d63dadd-2.
 uim-xim depends on uim-data (>= 1:1.8.8-6); however:
  Package uim-data is not installed.

dpkg: error processing package uim-xim (--configure):
 dependency problems - leaving unconfigured
Setting up libuim-data (1:1.8.8-6) ...
Error: in load: file "/usr/share/uim/lib/sigscheme-init.scm" not found
dpkg: error processing package libuim-data (--configure):
 installed libuim-data package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of uim-qt5:
 uim-qt5 depends on uim (= 1:1.8.8-6); however:
  Version of uim on system is 1:1.8.6+gh20161003.0.d63dadd-2.
 uim-qt5 depends on uim-qt5-immodule (= 1:1.8.8-6); however:
  Package uim-qt5-immodule is not installed.
 uim-qt5 depends on uim-data (>= 1:1.8.8-6); however:
  Package uim-data is not installed.

dpkg: error processing package uim-qt5 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of uim-gtk2.0:
 uim-gtk2.0 depends on uim (= 1:1.8.8-6); however:
  Version of uim on system is 1:1.8.6+gh20161003.0.d63dadd-2.
 uim-gtk2.0 depends on uim-gtk2.0-immodule (= 1:1.8.8-6); however:
  Package uim-gtk2.0-immodule is not installed.
 uim-gtk2.0 depends on uim-data (>= 1:1.8.8-6); however:
  Package uim-data is not installed.

dpkg: error processing package uim-gtk2.0 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 uim-xim
 libuim-data
 uim-qt5
 uim-gtk2.0

Edit: Update: I ended up wiping the system so I can no longer test what does/doesn't work.

Best Answer

I edited /var/lib/dpkg/status and removed all references to uim and anthy.

Then I ran:

sudo apt update && sudo apt upgrade

As described in this reddit thread

Related Question