Google Earth – Error 29

I’ve got a machine running Ubuntu 8.04 Hardy Heron. Recently I decided to upgrade the little used Google Earth installation on that PC, due to its nagging about a newer version and the “wonderful” new features that were available. I went through the download and install procedure and then tried to start up my new installation.

The newly installed Google Earth failed to start. I figured that the upgrade had clobbered some files or that there was some version conflict. This thought was reinforced by the fact that I now had Google Earth in two different directories. So, I completely uninstalled and deleted both installations of Google Earth and then re-installed the new 5.0 beta version. Upon startup, I was met with this screen. It complained of an “Error: 29” and its inability to authenticate.

g-e-error291

Search results for the error suggested communications problems related to firewalls and ISP issues. Having verified that I had no such firewall issues, I attributed the problem to a transient issue with Google or my ISP. But, days and weeks went by and the error persisted.

Then, one day, I actually needed Google Earth and when met with the error, I set to resolving the issue. All indications were that it was a communications error but, all the normal network testing showed that there were no communication problems with Google’s servers. Extensive searching then lead me to a note about a problem with Google Earth and the 64bit version of Ubuntu.

The issue was that Google Earth was a 32bit application running on a 64bit platform and it was unable to resolve the DNS names that it needed. There was a library missing on the Ubuntu system. Installing the lib32nss-mdns library resolved this Error: 29 problem. Here is the command to resolve it:

sudo atp-get install lib32nss-mdns

Now when I fire up Google Earth, I no longer get the Error: 29. Instead Google Earth starts up and I see the globe appear momentarily. Then it crashes and disappears from the screen. Nice. One problem traded for another. Running Google Earth from the command line, I see that there is another error right when it crashes.

test@athena:~$ googleearth ./googleearth-bin: relocation error: /usr/lib32/i686/cmov/libssl.so.0.9.8: symbol BIO_test_flags, version OPENSSL_0.9.8 not defined in file libcrypto.so.0.9.8 with link time reference

This problem was a lot easier to track down. It seems that Google Earth ships with its own version of libcrypto.so.0.9.8 and that it isn’t appropriately linked for this version of Ubuntu. This may or may not have anything to do with 64bit, I couldn’t be bothered to figure it out. The fix is to simply delete or rename the Google Earth copy of libcrypto which then causes it to use the version that came with Ubuntu. Here’s the command:

sudo mv /opt/google-earth/libcrypto.so.0.9.8 /opt/google-earth/libcrypto.so.0.9.8.old

Magically, Google Earth works as it should. Almost. I still have the video issues that I’ve always had when using Google Earth on systems with Intel Q965 integrated graphics controllers. Choppy video and digital artifacts but, especially, pop-up screens such as the Tip Of The Day and Panoramio pictures appearing and then disappearing. You’d think that the video driver developers would have the drivers working by now since Intel has released the open source code quite some time ago. But, alas, this level of operation is still missing.

About Net Codger
A long-time Information Technology(IT) person who has been made to feel old beyond their years by the merciless and relentless assault from IT vendors and the clueless user community.

Leave a comment