ia32-libs package is no longer present in Ubuntu 12.04 repositories for a 64bit system.
Are there any available replacement packages available for download?
The ia32-libs package was a hack to get 32-bit packages installed on a 64-bit installation. Since Ubuntu version 11.10 (Oneiric), Multi Arch has been added. One of the objectives for it is removing the
ia32-libs package. Instead, you have to install the 32-bit libraries of a package with:
sudo apt-get install package-name:i386
You don't have to worry about this for packages in the standard repositories (e.g. the
wine package). For external software, it's a bit more difficult because you have to find the dependencies manually. In that case, use your favorite search engine to find which libraries you need.
It seems that ia32-libs still exist, but merely as a convenience package to include common 32-bit libraries. This package now uses Multi Arch to install the 32-bit packages correctly.
ia32-libs package has been completely replaced by
lib32z1 lib32ncurses5 lib32bz2-1.0. This should not be a problem because its functionality is still there, just in other packages. However, we do not live in an ideal world where everyone maintains their packages and all software is FLOSS, so some packages still depend on the ia32-libs.
How can I install package x that depends on ia32-libs
There are 2 ways:
- You can repackage it manually so it does not depend on the
- You can install ia32-libs from the Ubuntu 13.04 (Raring Ringtail) repository (not preferred at all!, only if first method does not work)
1. Repackage old packages
I will use the citrix receiver as an example, but you can use this method for any .deb package:
First, download the citrix receiver .deb package from their website and make a temporary directory do do the hacking in.
Extract the package
dpkg-deb -x icaclient_22.214.171.1246735_amd64.deb ica_temp dpkg-deb --control icaclient_126.96.36.1996735_amd64.deb ica_temp/DEBIAN
Open the file in gedit (or your favorite editor)
sudo -H gedit ica_temp/DEBIAN/control
Find the line that starts with
ia32-libs and add
lib32z1 lib32ncurses5 lib32bz2-1.0
Rebuild the modified package
dpkg -b ica_temp icaclient-modified.deb
And install it
sudo dpkg -i icaclient-modified.deb sudo apt-get install -f
Installing the citrix receiver requires some hacking too. You can find the full installation instructions on the Ubuntu wiki
You can do this with any old .deb package that still depends on ia32-libs.
2. Install ia32-libs from raring repository
Please note that is it very bad practice to install old packages! Sadly, for some binary installers, you do not have any other choice.
You can download the ia32-libs package from the raring repository. Download it and install it manually, then the dependencies should be resolved.
I read that you are supposed to install the
ia32-libs-multiarch package instead.
However it didn't work for me and I get this error
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
The solution which worked for me was to install the following packages:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
If you get that error, try:
sudo apt-get update
Then try it again:
sudo apt-get install ia32-libs
I just did a fresh install of 12.04, that package is still available in the repositories. In fact, I got that error myself before I ran update. Afterwards, it worked fine.
I believe this specific use case was replaced with the packages "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", which is probably a more specific and useful answer than saying "you can use multi-arch".
I installed the ia32-libs like this (I run Ubuntu 13.04 Raring Ringtail on a 64 bit machine):
Check own architecture:
$ dpkg --print-architecture
Check if a foreign architecture is installed:
$ dpkg --print-foreign-architectures
Depending on the results of the two commands above, the following three commands might work (took a long time to process in my case):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs