Monday, December 21, 2015

apt - After force-installing a 32-bit deb failed, how can I install the 64-bit version?



I tried to dpkg -i --force-architecture google-earth-stable_i386.deb and it failed.



But now when I try to install the amd64.deb it fails saying





dpkg: error processing google-earth-stable_current_amd64.deb
(--install): google-earth-stable: 6.2.2.6613-r0 (Multi-Arch: no) is
not co-installable with google-earth-stable:i386 6.2.2.6613-r0
(Multi-Arch: no) which is currently installed Errors were encountered
while processing: google-earth-stable_current_amd64.deb




somehow it thinks the i386 version is installed. No google-earth files or directories even exist.



sudo dpkg --configure -a



outputs:




dpkg: dependency problems prevent configuration of
google-earth-stable:i386: google-earth-stable:i386 depends on
lsb-core (>= 3.2). dpkg: error processing google-earth-stable:i386
(--configure): dependency problems - leaving unconfigured Errors were
encountered while processing: google-earth-stable:i386





so it does exist in some capacity.



sudo apt-get -f install


does nothing out of the ordinary:





Reading package lists... Done Building dependency tree Reading
state information... Done 0 upgraded, 0 newly installed, 0 to remove
and 10 not upgraded.




The weird thing is that synaptic doesn't show any google earth package available let alone installed, nothing under the broken filter either.



I have also tried sudo apt-get autoremove and sudo apt-get autoclean



So, my question: How can I get rid of this issue?




Couldn't install doesn't mean dpkg didn't try and give up half-way



There's nothing complicated about it. Observe this re-enactment:




$ sudo dpkg -i --force-architecture google-earth-stable_current_i386.deb
...
Errors were encountered while processing:
google-earth-stable:i386


$ dpkg --list | grep google-earth
iU google-earth-stable:i386 6.0.3.2197-r0


The iU tells you that you wanted this package i-nstalled, but dpkg couldn't configure it, so it was leaving it U-nconfigured, waiting for you to fix it. The error you got dpkg: error processing google-earth-stable:i386 (--configure): dependency problems - leaving unconfigured tells you as much in simpler language.



dpkg must be explicitly told to remove a failed install



Just tell dpkg to not bother and remove the package:




sudo dpkg --remove google-earth-stable:i386



And then try installing the 64-bit package again.



Synaptic and apt-get don't care about one-off debs



You got nothing out of Synaptic or apt-get because they aren't aware of your problem. They concern themselves primarily with packages available in the repositories, which you manage through them. They are higher level tools which use dpkg under the hood, but don't care about any problems you create with dpkg unless it concerns them. If you tried to install any package, or Google Earth 64-bit if it was in some repository, with Synaptic or apt-get, they would definitely have whined about it.



Other helpful references





  • The .deb file name and package name are usually different. You need the package name to do any operations with dpkg. Use dpkg --list | grep xxxxx where xxxxx is a small part of the file name sure to be in there, like google or earth.


  • See this answer for a great explanation of all the two-letter dpkg status flags.



No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...