27

I don't know why I can't install ia32-libs. It claims for a dependency that cannot be found on repos.

junior@mediacenter:~$ sudo apt-get install ia32-libs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
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: ia32-libs : Depends: ia32-libs-multiarch E: Unable to correct problems, you have held broken packages.

junior@mediacenter:~$ sudo apt-get install ia32-libs-multiarch Reading package lists... Done Building dependency tree
Reading state information... Done 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: ia32-libs-multiarch:i386 : Depends: gstreamer0.10-plugins-good:i386 but it is not going to be installed Depends: gtk2-engines:i386 but it is not going to be installed Depends: gtk2-engines-murrine:i386 but it is not going to be installed Depends: gtk2-engines-pixbuf:i386 but it is not going to be installed Depends: gtk2-engines-oxygen:i386 but it is not going to be installed Depends: ibus-gtk:i386 but it is not going to be installed Depends: libcanberra-gtk-module:i386 but it is not going to be installed Depends: libcurl3:i386 but it is not going to be installed Depends: libgail-common:i386 but it is not going to be installed Depends: libglapi-mesa:i386 but it is not going to be installed Depends: libglu1-mesa:i386 but it is not going to be installed Depends: libgtk2.0-0:i386 but it is not going to be installed Depends: libqt4-opengl:i386 but it is not going to be installed Depends: librsvg2-common:i386 but it is not going to be installed Recommends: libgl1-mesa-glx:i386 but it is not going to be installed Recommends: libgl1-mesa-dri:i386 but it is not going to be installed E: Unable to correct problems, you have held broken packages.

Running ubuntu Precise:

junior@mediacenter:~$ uname -a
Linux mediacenter 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Synaptic fix broken package does nothing. Any tips?? Thanks I need this package to install other apps like teamviewer7.

My sources.list is here.

Marcos Junior
  • 883
  • 2
  • 9
  • 11

13 Answers13

16

I had a similar problem with broken dependencies when trying to install wine and acroread, and a complaint when trying to install ia32-libs-multiarch, just after upgrading to 12.04 from 11.04 (passing over 11.10). It seems that some ppa's I had in 11.04 installed newer versions of applications in the system. After upgrading, the remains of these apps seemed to do some mess in the dependencies.

The solution that seems to work (until now), was found on a german ubuntu board (http://forum.ubuntuusers.de, posts from user Lasall):

First a downgrade is required and done with the following: create the 'preferences' file:

sudo vi /etc/apt/preferences

and insert the following lines:

Package: *       
Pin: release a=precise*
Pin-Priority: 2012

enter:wq to write the file. Pin-Priority must be greater than 1000.

Then you may downgrade the offending applications with:

sudo apt-get dist-upgrade

Then you may install packages that complained about dependencies, like sudo apt-get install ia32-libs-multiarch, or sudo apt-get install ia32-libs.

Finally, you should remove the file you just created:

sudo rm /etc/apt/preferences

because else no new updates would be found.

Hope this helps you too!

JFB
  • 269
  • Quite a long process, but it worked. Now I was able to install TeamViewer. Thanks a lot. – unmultimedio Jul 07 '14 at 16:40
  • That answer definitely have to be marked as "solution" and "community wiki" and probably distributed (by some bot?) to other same question topics, because it is the only one that solves problem among hundreds of other solutions! I've been trying to solve it for years! Thank you. – MInner Dec 24 '14 at 11:06
6

Since ia32-libs is now a transitional wrapper package around the set of multiarch-enabled libraries that were previously shipped bundled in ia32-libs, all of these library packages must be installable. In a released version of Ubuntu (such as in the precise and precise-updates pockets), packages will always be individually installable; however, multiarch imposes an additional restriction on installability: the library package must be at the exact same version across all architectures that you are installing it for.

In one of the examples given here, the libcairo-gobject2 package is implicated. This package has recently been updated for 12.04 as an SRU; which means that trying to install ia32-libs requires the amd64 version of libcairo-gobject2 on your system to match the i386 version that will be downloaded.

To ensure you're getting the correct versions of all library packages, do the following:

  1. Launch Update Manager
  2. Choose Settings at the bottom of the window
  3. Under Updates, make sure that Recommended Updates (precise-updates) is selected.
  4. Click Check to scan for any new software updates
  5. Click Install Updates to ensure your existing packages are all up to date

If you currently have a broken package installed which depends on ia32-libs, this may ask to remove it. You should proceed with the removal and reinstall once the operation is completed. You should then be able to run

sudo apt-get install ia32-libs

to install ia32-libs, or download package from http://packages.ubuntu.com/ and

sudo dpkg -i /path/to/package.deb
sudo apt-get -f install

to install your package and automatically pull in ia32-libs as a dependency.

Note that ia32-libs is considered deprecated in any case. For most software, you should instead install the i386 version of the package and let it directly pull the i386 libraries that it needs as dependencies, instead of using ia32-libs which is a catch-all.

Zanna
  • 70,465
slangasek
  • 5,562
  • Thanks for all your suggestions, but none of them worked. Same error massages. Can't install teamviewer :( – Marcos Junior Jun 09 '12 at 15:02
  • Were you able to install ia32-libs at all? What teamviewer source were you trying to install from? – all4naija Jun 09 '12 at 19:45
  • Marcos, if you're still seeing this error even after making sure all updates are applied, then you probably have unofficial versions of some libraries installed. To track this down, for each of the libs reported to be a problem, try: 'sudo apt-get install $lib:i386'. e.g., 'sudo apt-get install gstreamer0.10-plugins-good:i386' should show why apt thinks this package is uninstallable for you. You may have to recurse through the dependencies several times to find the answer. – slangasek Jun 09 '12 at 21:04
2

I have seen this problem manifest you try to install 64-bit third party binaries from debs that end up wanting ia32-libs, e.g. Teamviewer 7 or Skype.

Solution first, demonstration later:

  • Run:

    dpkg --list `apt-cache rdepends ia32-libs | sed -e '1,2d' -e 's/|//g' | tr '\n' ' '` | grep iU
    
  • And look for half-installed packages with version names, like:

    iU  skype                                  2.2.0.35-1                              Skype
    iU  teamviewer7                            7.0.9350                                TeamViewer (Remote Control Application)
    
  • dpkg --remove each offender, after which sudo apt-get install ia32-libs should succeed.

ish
  • 139,926
1

I know this may seem like a long way around but, try copying and pasting each of those dependencies into the following:

sudo apt-get install PACKAGE_NAME

For example this is a line from the error message:

Depends: **gstreamer0.10-plugins-good**:i386 but it is not going to be installed

Then execute:

sudo apt-get install gstreamer0.10-plugins-good

Make sure and leave out the :i386 on the end of each command.
After installing each of those try installing ia32-libs-multiarch again:

sudo apt-get install ia32-libs-multiarch

If there are no errors, then continue to install ia32-libs.

sudo apt-get install ia32-libs
Oli
  • 293,335
  • The 64bit-version of gstreamer0.10-plugins-good was already installed. When I try to see why the i386 version won't install, it starts moaning about libcairo-gobject2:i386. When I try to installed that, it can, but only after it removes about 5000 other packages. – Oli Jun 07 '12 at 08:19
  • @Oli : please pastebin output of apt-cache rdepends ia32-libs -- what package were you trying to install the compat libs for? – ish Jun 07 '12 at 11:29
  • Thanks for all your suggestions, but none of them worked. Same error massages. Can't install teamviewer :( – Marcos Junior Jun 09 '12 at 15:03
1

I too face the same problem while installing teamviewer7 64bit package on Precise.

I think you might have disabled the updates.

Please goto Ubuntu Software CenterEditSoftware Sources.

In the Updates tab, please check all the updates (you can remove it later) and close.

Please go to terminal and run:

sudo apt-get update
sudo apt-get install ia32-libs

It worked for me, if not run sudo apt-get dist-upgrade and then try re-installing ia32-libs.

Peachy
  • 7,117
  • 10
  • 38
  • 46
Naga2Raja
  • 258
1

You have to add i386 architecture, then update and install ia32-libs. Run the following commands:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install ia32-libs

Is my best solution in Debian 7.0.

Eric Carvalho
  • 54,385
user156157
  • 11
  • 1
1

12.04 64 bit:

In Ubuntu 12.04 , installed dpkg package version doesn't have any --add-architecture paramater.So you cant add i386 architecture by dpkg --add-architecture i386 method.So run the below command to add i386 architecture to your 64 bit Ubuntu 12.04 .

sudo sh -c "echo 'foreign-architecture i386' > /etc/dpkg/dpkg.cfg.d/multiarch"
Avinash Raj
  • 78,556
0

I had the same problem a week ago , this is what does it for me.

Press ALT+CTRL+T to enter terminal:

  1. Type gksu nautilus and press ENTER key

  2. Click on the folder 'etc'. Next click the folder'apt'.

  3. Delete the folder sources.list.d

  4. Right-click and select 'Create New folder' to create a folder

  5. Rename the new folder to sources.list.d and close the windows.

  6. At terminal type sudo apt-get install ia32-libs-multiarch

  7. Input your root password when the system asks for it.

  8. Press ENTER to continue, and select 'y' for yes to continue with the installation.

I hope this one helps.

all4naija
  • 1,554
  • Thanks for all your suggestions, but none of them worked. Same error massages. Can't install teamviewer :( – Marcos Junior Jun 09 '12 at 15:02
  • On the other hand, you have to give us information about the version of your Operating system and the version of teamviewer you intended to install. Thank you. – all4naija Jun 11 '12 at 14:01
0

I had a similar problem when trying to install google-earth. What worked for me was to run 'sudo apt-get install -f': the components of the package got installed followed by google earth directly. Good for me because the update centre was having trouble up to that point & I thought I had broken my package system. Rebooted to double check and everything seems happy as Larry now.

0

You have to add i386 architecture, then update and install ia32-libs. Run the following commands:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install ia32-libs
Aditya
  • 13,416
Rajesh
  • 1
0

If you having problem with installing ia32-libs then try this,

sudo apt-get install lib32z1

This worked for me.

Go to synaptic --> Search for lib32z1 --> select both runtime and development Apply and u r done.

Raj
  • 145
0
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install  lib32z1 lib32ncurses5 lib32bz2-1.02z1
sudo apt-get install libstdc++6:i386



ldd adb
    linux-gate.so.1 (0xf77cc000)
    librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf77a5000)
    libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf77a0000)
    libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf7783000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf769a000)
    libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf7654000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7638000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf748d000)
    /lib/ld-linux.so.2 (0xf77cd000)
Nacho
  • 1
0

On 12.04 server I had to run the following:

sudo rm /var/lib/apt/lists/*
sudo apt-get update
sudo apt-get install ia32-libs
flickerfly
  • 7,279