среда, 21 мая 2014 г.

Установка Google Earth в 64-битной Ubuntu 14.04

Многие пользователи, которые обновляются с Ubuntu 12.04 до 14.04, беспокоятся о том, что делать с такими пакетами (например Google Earth), которые не получается установить из-за того, что они зависят от библиотеки ia32-libs (в 64-битной Ubuntu).


Библиотека ia32-libs недоступна в Ubuntu, начиная с релиза 13.10, поскольку больше практически не требуется, но некоторые 64-битные пакеты (которые на самом деле являются 32-битными программами), до сих пор зависят от этого пакета и поэтому не устанавливаются в 64-битной Ubuntu.

Рассмотрим пример. Допустим, вы скачали 64-битный пакет Google Earth и хотите установить его в 64-битной Ubuntu 14.04 (Trusty Tahr) с помощью dpkg. Что вы увидите:

$ 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

А если вы попробуете установить 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

Это происходит потому, что, как я уже говорил, пакет ia32-libs  недоступен в репозиториях Ubuntu 13.10 и 14.04.
Исправить эту ошибку можно, просто установив в 64-битной Ubuntu 32-битный пакет ia32-libs.  Конечно, при этом будут установлены еще несколько 32-битных пакетов.
Проблема с Google Earth в том, что 32-битный пакет не поддерживает multiarch, поэтому будут установлены не все 32-битные зависимости. 

Чтобы правильно установить Google Earth (со всеми требуемыми 32-битными зависимостями) в 64-битной Ubuntu 14.04 (или 13.10), используйте следующие команды:

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

Если вы просто установите 32-битный пакет Google Earth в 64-битной Ubuntu без установки зависимостей, то получите сообщения об ошибках:

./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

Для 32-битной Ubuntu просто скачайте Google Earth и установите его с помощью Ubuntu Software Center, GDebi, dpkg - как вам больше нравится.

2 комментария: