Apt/Synaptic needs to reinstall package but can't find the archive for it

Running Synaptic I get the following error message:

E: The package hl1440lpr needs to be reinstalled, but I can't find an archive for it.
E: Internal error opening cache (1). Please report.

Upon accepting the message, Synaptic quits.


Solution 1:

Well we may need a few steps to fix this.

  1. Start with:

    sudo dpkg --remove --force-all hl1440lpr
    
  2. If that fails:

    sudo rm -i /var/lib/dpkg/info/hl1440lpr.*
    sudo dpkg --remove --force-remove-reinstreq hl1440lpr
    
  3. Confirm Apt is fixed. The following command should return no errors:

    sudo apt-get update
    

Solution 2:

It turns out, this wouldn't repair using the regular commands because I had disabled the multiverse repository in the software and updates window, after installing the package.

I read to do this in a post somewhere else, and it wasn't until another post I read that had me double check to make sure it was ENABLED, then I realized I never should have disabled that in the first place.

Enabling the multiverse repository again enabled me to reinstall the package.


So, generally if this sorts of errors happen, make sure you haven't disabled the software source from which this package comes.

Solution 3:

dpkg --remove --force-remove-reinstreq   broken---stuff

(plus file erasing)

works like a charm. synaptic should offer this function instead of dying and leaving people with a huge mess. synaptic is not user friendly.