Announcement

Collapse
No announcement yet.

Google Earth on 64-bit installs with no 32-bit libraries

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Google Earth on 64-bit installs with no 32-bit libraries

    A Phoronix article compares the performance differences between 32-bit and 64-bit Ubuntu 14.10. In the comments, one person claims that Google Earth is a 32-bit program wrapped in a 64-bit installer. Another person called that question into some doubt:
    Huh?!?!
    $ file /opt/google/earth/free/googleearth-bin
    /opt/google/earth/free/googleearth-bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=693eb30111744b4518910a316785d954c7a1b0fd, stripped
    This is from the 64-bit RPM version downloaded from Google and installed on Fedora 20.

    The 64-bit RPM package is free of any dependencies. For Debian and Ubuntu, however, the 64-bit package contains a dependency on ia32-libs:
    Code:
    Depends: lsb-core (>= 3.2), ia32-libs
    A user of this package ran the Google Earth executable inside a debugger and confirmed that even for Debian/Ubuntu, it's a pure 64-bit binary.

    The problem is, for Ubuntu, ia32-libs hasn't been part of the package repository since Raring. Thus, the 64-bit Google Earth package won't install, because a required dependency is unavailable. You can install the 32-bit package, and also install several megabytes of 32-bit libraries. But I was curious to see if there was another way, and tried an experiment on my 64-bit Kubuntu 14.10 system.

    First, I told dpkg to ignore the required ia32-libs dependency:
    Code:
    steve@t520:~$ sudo [B]dpkg --ignore-depends=ia32-libs -i google-earth-stable_current_amd64.deb[/B]
    Selecting previously unselected package google-earth-stable.
    (Reading database ... 162986 files and directories currently installed.)
    Preparing to unpack google-earth-stable_current_amd64.deb ...
    Unpacking google-earth-stable (7.1.2.2041-r0) ...
    Setting up google-earth-stable (7.1.2.2041-r0) ...
    Processing triggers for man-db (2.7.0.2-2) ...
    Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
    Processing triggers for mime-support (3.55ubuntu1) ...
    Success!

    Then I tried to run it:
    Code:
    steve@t520:~$ [B]google-earth[/B] 
    [1027/223157:ERROR:net_util.cc(2195)] Not implemented reached in bool net::HaveOnlyLoopbackAddresses()
    [1027/223157:ERROR:nss_ocsp.cc(581)] No URLRequestContext for OCSP handler.
    .
    .
    {repeated many times}
    .
    .
    Another crash happened while handling crash!
    The window briefly opened, and then crashed. Notably, ~/.config/Google and ~/.googleearth were created and populated.

    Running a second time resulted in the same errors appearing in the console window but it didn't crash. I zoomed around the planet for four or five minutes with no problem. However, third and subsequent runs all failed.

    I deleted those subdirectories and ran it again. This time, the first run was fine. A second run failed. A third run was fine. So it's really hit-or-miss here, which is so totally weird. All failures are like what I indicated above.

    Once more I deleted the directories. This time, after taking a look at the shell script that /usr/bin/google-earth links to, I ran:
    Code:
    steve@t520:~$ [B]LD_LIBRARY_PATH=/opt/google/earth/free /opt/google/earth/free/googleearth-bin[/B]
    The first run crashed. Subsequent runs all seemed fine. I'm not exactly sure what to make of this, other than that forcing the binary to use Google's supplied libraries (that's what setting the variable LD_LIBRARY_PATH does) makes it appear to be more stable. It's still rather a mystery as to why any 32-bit libraries may be needed with the 64-bit executable.

    I've also posted this experiment in the Phoronix comment thread. Might be worth following for a while to see if anyone has ideas.

    BTW, it sure made my laptop get quite hot!

    #2
    If you decide to try this and keep it on your system for a while, Apt and Muon will become unhappy, because they refuse to allow a system to exist with broken dependencies. You'll need to create a dummy ia32-libs package and install it.

    First, install the package equivs.

    Then create Debian control file for your dummy package:
    Code:
    equivs-control ia32-libs-dummy
    Edit the file to make it look like the following. Changes are in bold red.
    Code:
    ### Commented entries have reasonable defaults.
    ### Uncomment to edit them.
    # Source: <source package name; defaults to package name>
    Section: misc
    Priority: optional
    # Homepage: <enter URL here; no default>
    Standards-Version: 3.9.2
    
    [B][COLOR="#B22222"]Package: ia32-libs-dummy[/COLOR][/B]
    [B][COLOR="#B22222"]Version: 9.9[/COLOR][/B]
    # Maintainer: Your Name <yourname@example.com>
    # Pre-Depends: <comma-separated list of packages>
    # Depends: <comma-separated list of packages>
    # Recommends: <comma-separated list of packages>
    # Suggests: <comma-separated list of packages>
    [B][COLOR="#B22222"]Provides: ia32-libs[/COLOR][/B]
    # Replaces: <comma-separated list of packages>
    # Architecture: all
    # Copyright: <copyright file; defaults to GPL2>
    # Changelog: <changelog file; defaults to a generic changelog>
    # Readme: <README.Debian file; defaults to a generic one>
    # Extra-Files: <comma-separated list of additional files for the doc directory>
    # Files: <pair of space-separated paths; First is file to include, second is destination>
    #  <more pairs, if there's more than one file to include. Notice the starting space>
    [B][COLOR="#B22222"]Description: Dummy ia32-libs package to satisfy Google Earth dependency.[/COLOR][/B]
    [B][COLOR="#B22222"]#[/COLOR][/B] long description and info
    [B][COLOR="#B22222"]#[/COLOR][/B] .
    [B][COLOR="#B22222"]#[/COLOR][/B] second paragraph
    Now build the dummy package:
    Code:
    equivs-build ia32-libs-dummy
    And finally install it:
    Code:
    sudo dpkg -i ia32-libs-dummy_9.9_all.deb
    Now your package maintenance tools will be happy.

    Comment


      #3
      You stated "The 64-bit RPM package is free of any dependencies" and that the "Debian and Ubuntu, however, the 64-bit package contains a dependency on ia32-libs:"

      So why not download and compile the source code on your 64 bit machine to see if it runs?

      Edit: Just tried to see if I could download the source code myself but it appears to be closed source.
      Last edited by Guest; Oct 29, 2014, 07:45 AM.

      Comment


        #4
        I couldn't get the 32bit package to work either according to ldd it wasn't finding it's own libraries ...........so I installed "googleearth-package" ran it ,,,it built
        Code:
        Package: googleearth
        Version: 6.0.3.2197+1.1.0-1
        Section: non-free/science
        Priority: optional
        Maintainer:  <vinny@vinny-Bonobo-Extreme>
        Architecture: amd64
        Depends: fonts-liberation, libfreeimage3, lsb-core, libqtcore4, libgl1-mesa-glx, libglu1-mesa , libcurl3:i386, libsm6:i386, libfontconfig1:i386, libxt6:i386, libxrender1:i386, libxext6:i386, libgl1-mesa-glx:i386, libgl1-mesa-dri:i386
        Suggests: lib32nss-mdns|libnss-mdns:i386, libgl1-nvidia-glx:i386, libgl1-fglrx-glx:i386
        Description: Google Earth, a 3D map/planet viewer
         Package built with googleearth-package.
        dpkg-deb: building package `googleearth' in `./googleearth_6.0.3.2197+1.1.0-1_amd64.deb'.
        -----------------------------
        Success!
        You can now install the package with e.g:
        
        sudo dpkg -i googleearth_6.0.3.2197+1.1.0-1_amd64.deb
        which as we can see installed a bunch of 32bit libs ,,,,,,, but it runs nicely

        now this was in 14.04 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,will try the method hear in 14.10


        VINNY
        i7 4core HT 8MB L3 2.9GHz
        16GB RAM
        Nvidia GTX 860M 4GB RAM 1152 cuda cores

        Comment


          #5
          I googled 'google earth kubuntu 14.04 64-bit' and went to this site: https://www.webupd8.org/2014/04/inst...untu-1404.html

          I followed the instructions and it now works fine.

          Comment


            #6
            Originally posted by SteveRiley View Post
            BTW, it sure made my laptop get quite hot!
            That'll be vrms panicking!
            samhobbs.co.uk

            Comment


              #7
              Originally posted by oldgeek View Post
              I googled 'google earth kubuntu 14.04 64-bit' and went to this site... I followed the instructions and it now works fine.
              Yes, that's for getting the 32-bit version to work on 64-bit installs. But because Google packages it incorrectly, those additional steps are required.

              The steps I've outlined here are how to get the 64-bit package to install on 64-bit machines. Aside from a little instability, it actually seems to work. But again, Google is incorrectly packaging the product. The 64-bit version is indeed a true 64-bit binary, complete with its own 64-libraries. There seems to be no need for the dependency on the now nonexistent ia32-libs.

              Comment


                #8
                Originally posted by Feathers McGraw View Post
                That'll be vrms panicking!
                The numeral shaped like a billiard ball would accurately represent the number of fskcs given by me.

                Comment


                  #9
                  Originally posted by SteveRiley View Post
                  The numeral shaped like a billiard ball would accurately represent...
                  I thought you were going to say "... accurately represent RMS"
                  samhobbs.co.uk

                  Comment


                    #10
                    Originally posted by Feathers McGraw View Post
                    I thought you were going to say "... accurately represent RMS"
                    I'm unaware of any billiard balls that are capable of plucking schmutz from their toes and then consuming it publicly.

                    Comment


                      #11
                      Yeah, that is just SO wrong! Doesn't invalidate what he's actually saying though, he has an uncanny habit of being right.
                      samhobbs.co.uk

                      Comment


                        #12
                        Originally posted by Teunis
                        The only missing item was lsb-core.
                        I also tried ignoring the dependency on lsb-core. That didn't work; the binaries themselves require system services offered by various components in the lsb-core metapackage.

                        Comment


                          #13
                          Originally posted by Feathers McGraw View Post
                          Doesn't invalidate what he's actually saying though, he has an uncanny habit of being right.
                          Not always.

                          Comment


                            #14
                            Interesting... not quite what I meant though, as I'm sure you know! I'm not sure I'd agree with his taste in music, food etc. either but I'm not listening to his opinions on those things.
                            samhobbs.co.uk

                            Comment


                              #15
                              Originally posted by Feathers McGraw View Post
                              Interesting... not quite what I meant though, as I'm sure you know!
                              Whoops... I picked the wrong one. Here, now what do you think? I'll prime your response by stating that Garrett's criticism is spot-on. It isn't sufficient for software to simply "be free." RMS's tunnel vision prevents him from realizing that users matter, too.

                              Comment

                              Working...
                              X