Linux, Ubuntu unmet dependencies problem (32-bit - 64-bit)


Recently I have come across tricky issue related to the intalling 32bit version of flash debugger on 64 bit version Ubuntu. Following the previous post related to it:
Flash Player debugger for Linux x64 (How To)

Everything went well up to installation of nspluginwrapper.

     sudo apt-get install nspluginwrapper

End up with the following error:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed
E: Broken packages


Before going further, you can try following commands:
sudo apt-get clean;
sudo apt-get autoclean
sudo apt-get -f install
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get -u dist-upgrade
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

If no luck with the above please continue reading below...

First step to resolve is to try compile and build sources manually.
1. download nspluginwrapper
2. ./configure

Result: more errors with missing dependencies.

After few hours of investigation here are the workarounds:
Step 1: Try to install unmet deps automatically
1. sudo apt-get install auto-apt
2. sudo auto-apt update
3. sudo auto-apt updatedb && sudo auto-apt update-local
4. sudo auto-apt run ./configure

Possible errors: some dependencies still cannot be found

Step 2: Try find missing deps manually end install it.
Possible errors: you found it but it cannot be installed because of
impossible situation with unmet dependencies ;)

Step 3: Install ia32-libs
sudo apt-get install ia32-libs
Possible errors: still impossible situation :D

Step 4: Do some hacking:
1. sudo touch /etc/apt/preferences
2. sudo gedit /etc/apt/preferences:
Package: *      
Pin: release a=precise*
Pin-Priority: 2012

3. sudo apt-get dist-upgrade
5. sudo apt-get install ia32-libs

Possible errors: missing multiarch or anything

Step 5: Enable multiarch and try again:
1. echo foreign-architecture i386 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
2. sudo apt-get install ia32-libs
// finally OK!
3. sudo apt-get check
4. sudo rm /etc/apt/preferences // can now delete it

Problem was almost fixed for me:
sudo auto-apt run ./configure
Went further but still some unmets and I gave up,

BUT after all above have tried below again:
sudo apt-get install nspluginwrapper


I guess above workarounds can be used to install ANY 32 bit package on 64 bit version of Ubuntu or other Linux OS.

Hope that helps.

No comments:

Post a Comment