(Difference between revisions)
Current revision as of 16:55, 12 May 2014
- ia32-libs and ia32-libs-multiarch are packages which designate multiple modules required for 32-bit applications to work properly in 64-bit systems. Many modules are included and a large amount of download time and disk space is required for installation. For this reason (and the near ubiquitous existence of 64-bit versions for most applications), a desire to phase out ia32-libs and ia32-libs-multiarch has evolved in the (K)Ubuntu OS ecosystem. (K)Ubuntu OS versions Saucy and later no longer carry ia32-libs or ia32-libs-multiarch in their repositories.
- In Precise and later, ia32-libs was replaced by ia32-libs-multiarch (and is merely a meta-package pointing to ia32-libs-multiarch).
- On a 64-bit OS, there may still be a need to run a 32-bit application for which there are no 64-bit candidates; ia32-libs-multiarch may still be required. Below are steps I took to install ia32-libs-multiarch.
ia32-libs-multiarch in Precise
- Due to installed updates and backports of Precise Pangolin 12.04 LTS, ia32-libs-multiarch / ia32-libs may no longer be able to be installed. A suggested solution is found here, which requires "pinning" the repository packages to an older version of Precise Pangolin and "downgrading" packages until they are compatible with ia32-libs-multiarch.
- This is a time-consuming process and makes significant, sometimes unpredictable changes to the Precise OS. (Use it only if you are desperate or highly motivated.) It worked for me, however, and I have outlined the original (and additional) steps I needed to take. (I successfully tested this on a 64-bit Kubuntu Precise Pangolin OS updated with all backports in May 2014.)
- Edit the apt package manager preferences (use gedit instead of kate if using Ubuntu instead of Kubuntu):
sudo kate /etc/apt/preferences
- Add the following lines:
Package: * Pin: release a=precise* Pin-Priority: 2012
- "Upgrade" the distribution to match the preferences.
sudo apt-get update sudo apt-get dist-upgrade
- I was then prompted to accept "downgraded" packages and the "new" packages were download and installed, which took more than an hour. I rebooted the system.
- When it rebooted, the KDM (KDE Display Manager) could not find the Elarun theme that had been installed during the backport updates (but had apparently been erased during the "downgrades"). The solution I took to correct this problem is below, but since I was dropped to the command-line (which I prefer for package installation purposes anyway), I continued working in the command-line. (To do so, obviously, required signing in with my username and password.)
- Install ia32-libs-multiarch:
sudo apt-get install ia32-libs-multiarch
- This also takes some time to download and install. After it completed, I rebooted the system (again to the command-line).
- At this point I preferred to install my application (which happened to be the Netflix-desktop) that required ia32-libs, although this step can also be done later. These are the example steps (for this application only):
sudo apt-add-repository ppa:ehoover/compholio sudo apt-get update sudo apt-get install netflix-desktop
- I then removed the preferences file for the apt package manager:
sudo rm /etc/apt/preferences sudo apt-get update sudo apt-get dist-upgrade
- I rebooted (to the command-line). Now I repaired the KDM settings. Only the ariya theme was still present (after downgrades) in the /usr/share/kde4/apps/kdm/themes folder. I therefore edited the KDM settings to use the ariya theme (using the nano editor available to me in the command-line):
sudo nano /etc/kde4/kdm/kdmrc
- and changed the line
- When I rebooted the system, everything worked correctly. (Besides, I prefer the Ariya theme anyway.) I finished installing my application (in this case netflix-desktop) and made sure it worked properly. Hooray!
- Note: In the original proffered suggestion, it says that installing sudo apt-get install librtmp0/precise is an alternative solution to the above, but it did nothing for me.
ia32-libs-multiarch in Saucy and later
- Because (K)Ubuntu no longer carries ia32-libs-multiarch and ia32-libs (from Saucy onwards), it is necessary to install Raring repositories first.
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe" sudo apt-get update sudo apt-get install ia32-libs-multiarch
- Note: Be sure to include the quotation marks around the repository name.
- Once I am assured that the 32-bit package (requiring ia32-libs-multiarch) works well, on my 64-bit system I later remove the Raring repositories (that were needed for the ia32-libs installation) to avoid conflict with the current repositories.
sudo add-apt-repository --remove "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe" sudo apt-get update