Ubuntu / Linux news and application reviews.

Many of you already know about this, but since there are many users who are upgrading from Ubuntu 12.04 to 14.04, they might not be aware of what they need to do when a package, like Google Earth, fails to install because it depends on ia32-libs (on Ubuntu 64bit).

The ia32-libs package is no longer available in Ubuntu, starting with Ubuntu 13.10. The package was superseded by multiarch support so you don't need it any more, but some 64bit packages (which are actually 32bit applications) still depend on this package and because of this, they can't be installed in Ubuntu 14.04 or 13.10, 64bit.

Google Earth Ubuntu

Here's an example. Let's say you've downloaded the Google Earth 64bit package and want to install it in Ubuntu 14.04 (Trusty Tahr) 64bit via dpkg. Here's what happens:
$ sudo dpkg -i google-earth-stable_current_amd64.deb 
Selecting previously unselected package google-earth-stable.
(Reading database ... 168539 files and directories currently installed.)
Preparing to unpack google-earth-stable_current_amd64.deb ...
Unpacking google-earth-stable (7.1.2.2041-r0) ...
dpkg: dependency problems prevent configuration of google-earth-stable:
google-earth-stable depends on ia32-libs; however:
Package ia32-libs is not installed.

dpkg: error processing package google-earth-stable (--install):
dependency problems - leaving unconfigured
..........................................
Errors were encountered while processing:
google-earth-stable
And if you try to install ia32-libs:
$ sudo apt-get install ia32-libs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  lib32asound2 lib32z1 lib32ncurses5 lib32bz2-1.0

E: Package 'ia32-libs' has no installation candidate
That's because, like I said, the ia32-libs package is not available in the Ubuntu 13.10 and 14.04 (and newer) repositories.

The "fix" or more specifically the correct way of installing these apps which depend on ia32-libs is to simply install the 32bit package on Ubuntu 64bit. Of course, that will install quite a few 32bit packages, but that's how multiarch works.

The problem with Google Earth is that the 32bit package doesn't support multiarch so it doesn't install all the 32bit dependencies it needs to run on Ubuntu 64bit. Below you'll find instructions on how to properly install Google Earth and its 32bit dependencies on Ubuntu 64bit.


Install Google Earth in Ubuntu 14.04 64bit


To properly install Google Earth (along with the required 32bit dependencies) in Ubuntu 64bit, use the following commands:
sudo apt-get install libfontconfig1:i386 libx11-6:i386 libxrender1:i386 libxext6:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 libglib2.0-0:i386 libsm6:i386
cd /tmp && wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb
sudo dpkg -i google-earth-stable_current_i386.deb
sudo apt-get install -f

If you simply install the Google Earth 32bit package on Ubuntu 64bit without the extra dependencies from the first command above, you'll get errors when trying to start it, like these:
./googleearth-bin: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
./googleearth-bin: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
./googleearth-bin: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
./googleearth-bin: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
./googleearth-bin: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
etc.

For Ubuntu 32bit, simply download Google Earth and install it using Ubuntu Software Center, GDebi, dpkg or whatever you prefer.