Según parece hay un problema con las versiones 7.x.x de Google Earth y la compatibilidad de las librerías QT que trae el propio programa. He encontrado una solucción en lamiradadelreplicante.com, donde el autor tannhausser publica una solucción que a su vez encontró en el foro de OpenSuse, del usuario Amirpli.
La solución original de Amirpli está orientada a OpenSuse y tannhausser la adapto para aplicarla a Gecko. Yo lo que he hecho es adaptarla a Debian Stretch. Tan solo hay que cambiar algunas rutas y los nombres de algunas de las librerías necesarias.
Para empezar nos descargamos la última versión estable de Google Earth. Yo aquí voy a usar la versión de 64 bits.
Si tenemos una versión anterior de Google Earth instalada, antes de hacer nada debemos eliminarla sin dejar ningún rastro. Si después de desinstalar quedó algo en la carpeta de instalación la eliminamos y tambien borramos los archivos de configuración en la carpeta de usuario.
# apt-get purge google-earth-stable # rm -R /opt/google/earth
Como usuario ejecutamos:
$ rm -R $HOME/.googleearth $HOME/.config/Google
Instalamos la nueva versión de Google Earth que hemos descargado antes.
# dpkg -i google-earth-stable_current_amd64.deb
Si nuestro escritorio es KDE, seguramente la mayoría de las librerías QT ya estarán instaladas, en caso contrario habrá que instalarlas también. En mi caso solo tuve que instalar estas. También nos hará falta el compilador gcc.
# apt-get install libfreeimage3 libqtwebkit4 libqt4-dev gcc
Nos cambiamos a la carpeta de instalación de Google Earth, creamos una nueva carpeta y movemos a ella las librerías QT que se instalan originalmente con el programa.
# cd /opt/google/earth/free # mkdir originales-qtlib # mv libQT* originales-qtlib
Creamos un archivo c++ al que llamaremos baifaao.cpp. Escribimos el siguiente código:
/* amirpli 2013/11/28 */ #include <QtCore/QAtomicInt> extern "C" { int _Z34QBasicAtomicInt_fetchAndAddOrderedPVii(QAtomicInt *a, int b) { return a->fetchAndAddOrdered(b); } }
Ahora compilamos el código.
# gcc -I/usr/include/qt4 -03 -fPIC --shared baifaao.cpp -o baifaao.so
Si no hay errores obtendremos el archivo baifaao.so en la carpeta de instalación de Google Earth.
A continuación debemos modificar el script de inicio llamado googleearth que hay en la carpeta de instalación del programa.
# nano googleearth
Nos desplazamos hacia el final del script y añadimos debajo de la línea cd $script_path; la siguiente línea: export LD_PRELOAD=/usr/lib/libfreeimage.so.3:/opt/google/earth/free/baifaao.so
[...] script_path=$(FindPath $0); cd $script_path; export LD_PRELOAD=/usr/lib/libfreeimage.so.3:/opt/google/earth/free/baifaao.so [...]
Con esto ya podemos lanzar el programa y debería funcionar correctamente, mostrando las fotos de Panoramio entre otras. Gracias a amirpli por la solución y a tannhausser por publicarla perfectamente explicada en su web.
Comments are closed.