Google Earth won't launch on Xubuntu 13.10

5,329

TL,DR: Try installing the libfontconfig1:i386 package.

Packages whose names end in -dev provide header files, which don't help a binary executable to run. There's no need to remove the libfontconfig-dev package, but it's expected that installing it wouldn't help this situation.

The ia32-libs package, available in releases prior to 13.10, provided a number of commonly used 32-bit libraries. Generally speaking, 64-bit software never requires ia32-libs, but since the "64-bit version/edition" of a program just means it's the version for a 64-bit OS and not necessarily that all its native code is 64-bit, such a dependency is possible.

The motivating reason for the ia32-libs package was to provide libraries that are frequently needed by 32-bit programs on a 64-bit system, but would once have been hard to install, since the package manager would only install packages matching the version of Ubuntu installed.

The Ubuntu adopted MultiArch, which facilitates installing both 32-bit and 64-bit packages on the same 64-bit system, using the package manager. MultiArch support started a while ago, but the ia32-libs package was retained, mainly for backward compatibility and for the convenience it provided. (Actually, it was turned into a shortcut for installing the appropriate 32-bit library packages. Users installing it for the first time on a system with MultiArch would install the more descriptively named ia32-libs-multiarch package.)

Well, finally ia32-libs and ia32-libs-multiarch are gone... but you can install install 32-bit libraries (and other packages) on your 64-bit Xubuntu 13.10 system, by specifying the package name and architecture for installation.

You have an error message that specifies a library file that is needed: libfontconfig.so.1. You appear to have only the 64-bit version of that library. (The 32-bit and 64-bit versions are stored in separate directories, in part to allow them both to be installed at the same time.)

To find out what package provides the file, search for it under "Search the contents of packages" at http://packages.ubuntu.com/. This reveals the package that provides it is libfontconfig1. You want to install the 32-bit version of that. Ubuntu's name for the 32-bit PC/Mac architecture is i386 (the 64-bit one, even for Intel processors, is amd64). So you can install this by running:

sudo apt-get update
sudo apt-get install libfontconfig1:i386

Then try running Google Earth again and see what happens.

Related: What happened to the ia32-libs package? (But note, the ia32-libs package remained a transitional package for ia32-libs-multiarch, which provided essentially equivalent functionality until 13.10 Saucy.)

Share:
5,329

Related videos on Youtube

d0b3rmann
Author by

d0b3rmann

Updated on September 18, 2022

Comments

  • d0b3rmann
    d0b3rmann over 1 year

    I just tried to install Google Earth on my new Xubuntu 13.10 installation. 64-bit fails anyway because of missing ia32-libs, but the 32-bit edition installs fine. It just reports an error if I try to launch it:

    ./googleearth-bin: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
    

    I already tried to re-install the package and added the libfontconfig-dev package, too, but still this error appears. Any ideas whats missing or how to fix?

    • kenn
      kenn over 10 years
      what's output of locate libfontconfig.so.1 ?
    • d0b3rmann
      d0b3rmann over 10 years
      It replies: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.7.0
    • kenn
      kenn over 10 years
      add the following line to /opt/google/earth/free/googleearth export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libfontconfig.so.1 just before the last line that reads LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./googleearth-bin "$@"
    • Eliah Kagan
      Eliah Kagan over 10 years
      @kenn Since the version of Google Earth currently being used is the 32-bit version, it seems unlikely that those 32-bit libraries (they're in the x86_64-linux-gnu subdirectory of lib) would enable it to work. However, if you believe this is a solution, I'd encourage you to post it as an answer.
    • kenn
      kenn over 10 years
      @EliahKagan I thought it's one of those broken library path issue, I didn't know it wouldn't work with 64 bit library. Then he must install 32bit library?
    • Eliah Kagan
      Eliah Kagan over 10 years
      @kenn I think that will fix this. It's sort of unclear to me exactly what is meant by "64-bit version" and "32-bit version" in the context of the question here, since a truly 64-bit program shouldn't require any 32-bit libraries, and the ia32-libs package has only ever provided 32-bit libraries. (So why would the 64-bit version need that? Well, maybe some parts of it were still 32-bit...)
  • d0b3rmann
    d0b3rmann over 10 years
    After installing the missing package with :i386 and a half-dozen of other libs it's working like a charme! ThX a lot!