Skip to content

Latest commit

 

History

History
91 lines (71 loc) · 3.93 KB

BUILD.md

File metadata and controls

91 lines (71 loc) · 3.93 KB

Building Earth Enterprise Fusion and Server

NOTE: If you want to build, install, or run Portable server, see the Portable Server page.

Building is currently supported for 64-bit versions of Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, RHEL 6, RHEL 7, CentOS 6, and CentOS 7.

GEE 5.3.2 Build Prerequisites (all platforms)

  1. Setup required Tools and Dependencies:

    • git 1.8.4+ NOTE: git 1.7.1+ will build GEE but may miscalculate product version
    • git lfs
    • gcc 4.8.x
    • scons 2.0.x
    • python 2.6.x or python 2.7.x. Python 3.0+ is not supported.

Different operating systems have different means to setup up these dependencies. For Linux build environments, see either the Redhat and Centos Setup Instructions or the Ubuntu Setup Instructions for those specific platforms on how to setup the dependencies, tools, and compilers.

  1. Clone the earthenterprise repository in your build environment:

    NOTE: For development you should follow the instructions on the Git Contributions page to clone the GEE repo to your personal fork, so that you can submit git pull-requests back to this repo.

    • Method 1: Clone and download LFS files in one step (may be slower and more error prone):

      git clone [email protected]:google/earthenterprise.git
    • Method 2: Clone and download LFS files in two steps:

      GIT_LFS_SKIP_SMUDGE=1 git clone [email protected]:google/earthenterprise.git
      cd earthenterprise
      git lfs pull
  2. In the build instructions below, the scons commands for building GEE/Fusion have the following options:

    • internal=1: Build using non-optimized code, best for development and debugging
    • optimize=1: Build using optimized code, but with some debugging information
    • release=1: Build a release using optimized code and no debugging information
    • build_folder=some_path: Gives you full control to where build output is placed. Can be an absolute or relative path. If it is a relative path then it will be relative to earth_enterprise\src. Nothing is appended to the path so you have full control of the path.
    • cache_dir=some_path: (Experimental) Should be an absolute path used by SCons to cache build output. Currently this parameter should be used for testing builds using SCons cache. There are some open issues with using SCons cache and those working on the issues can use this option for testing their changes.
    • -j#: Specifies the number of simultaneous build jobs to use. Replace # with an integer. It should roughly match the number of processing cores available
    • --debug=stacktrace: If there is an error within a scons script, this will give you more detailed information on how to debug it
    • --config=force: If you accidentally delete the .sconf_temp directory or make some changes to your system build libraries, use this to force the configuration to run again, otherwise the scons build may complain about missing libraries
  3. Build Earth Enterprise Fusion and Server:

    cd earthenterprise/earth_enterprise
    scons -j8 release=1 build
  4. Run unit tests (note: that the REL part of the path will vary if you use internal=1 or optimize=1 instead of release=1 or the full path may be something completly different if you used build_folder):

    cd src/NATIVE-REL-x86_64/bin/tests
    ./RunAllTests.pl

Install Fusion and Earth Server

For information on how to install Fusion and/or Earth Server, see Install Fusion or Earth Server.