Skip to content

Building Apache Geode

aborkar-ibm edited this page Aug 10, 2017 · 44 revisions

Building Apache Geode

The instructions provided below specify the steps to build Apache Geode 1.2.0 on Linux on IBM Z for following distributions:

  • RHEL (6.9, 7.1, 7.2, 7.3)
  • SLES (11 SP4, 12, 12 SP1, 12 SP2)
  • Ubuntu (16.04, 16.10, 17.04)

General Notes:

  • When following the steps below please use a standard permission user unless otherwise specified.

  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.

1) Install dependencies

  • RHEL 6.9

    With IBM SDK:

    	sudo yum install -y git which java-1.8.0-ibm java-1.8.0-ibm-devel
    
  • RHEL (7.1, 7.2, 7.3)

    With IBM SDK:

    	sudo yum install -y git which java-1.8.0-ibm java-1.8.0-ibm-devel
    

    With Open JDK:

    	sudo yum install -y git which java-1.8.0-openjdk java-1.8.0-openjdk-devel
    
  • SLES 11 SP4

    With IBM SDK:

    	sudo zypper install -y git awk tar wget
    
    • Download IBM Java 8 sdk binary from IBM Java 8 and follow the instructions as per given in the link.

    Note: Set JAVA_HOME to your defined java path. Also set JAVA_HOME/bin to PATH variable properly.

  • SLES 12

    With IBM SDK:

    	sudo zypper install -y git which tar wget
    
    • Download IBM Java 8 sdk binary from IBM Java 8 and follow the instructions as per given in the link.

    Note: Set JAVA_HOME to your defined java path. Also set JAVA_HOME/bin to PATH variable properly.

  • SLES (12 SP1, 12 SP2)

    With IBM SDK:

    	sudo zypper install -y git which java-1_8_0-ibm java-1_8_0-ibm-devel
    

    With Open JDK:

    	sudo zypper install -y git which java-1_8_0-openjdk java-1_8_0-openjdk-devel
    
  • Ubuntu (16.04, 16.10, 17.04)

    With IBM SDK:

    	sudo apt-get update
    	sudo apt-get install -y git wget
    
    • Download IBM Java 8 sdk binary from IBM Java 8 and follow the instructions as per given in the link.

    Note: Set JAVA_HOME to your defined java path. Also set JAVA_HOME/bin to PATH variable properly.

    With Open JDK:

    	sudo apt-get update
    	sudo apt-get install -y git openjdk-8-jdk
    

2) Set Environment Variables(for Open JDK only)

  • RHEL (7.1, 7.2, 7.3)
export JAVA_HOME=/usr/lib/jvm/java
export PATH=$JAVA_HOME/bin:$PATH
export LANG="en_US.UTF-8"
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
export _JAVA_OPTIONS=-Xmx2048m
export JVM_ARGS="-Xms2048m -Xmx2048m"
  • SLES (12 SP1, 12 SP2)
export JAVA_HOME=/usr/lib64/jvm/java
export PATH=$JAVA_HOME/bin:$PATH
export LANG="en_US.UTF-8"
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
export _JAVA_OPTIONS=-Xmx2048m
export JVM_ARGS="-Xms2048m -Xmx2048m"
  • Ubuntu (16.04, 16.10, 17.04)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-s390x
export PATH=$JAVA_HOME/bin:$PATH
export LANG="en_US.UTF-8"
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
export _JAVA_OPTIONS=-Xmx2048m
export JVM_ARGS="-Xms2048m -Xmx2048m"

3) Get the source

cd /<source_root>/
git clone https://github.com/apache/incubator-geode.git
cd /<source_root>/incubator-geode/
git checkout rel/v1.2.0

4) Edit the following files (For IBM SDK only)

  • Change /<source_root>/incubator-geode/gradle/wrapper/gradle-wrapper.properties to include gradle 3.1 binary
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip

5) Build Apache Geode source without test cases

cd /<source_root>/incubator-geode/
./gradlew build installDist -x test

Note: If build fails with java.lang.StackOverflowError error, set -Xss flag in gradle.properties file as follows:

@@ -44,7 +44,7 @@ productName = Apache Geode (incubating)
productOrg = Apache Software Foundation (ASF)

org.gradle.daemon = true
org.gradle.jvmargs = -Xmx2048m
+org.gradle.jvmargs = -Xss<somevalue>m

6) Run test cases(Optional)

cd /<source_root>/incubator-geode/
./gradlew test

Notes:

  • With IBM SDK, there are few test case failures which are also observed on Intel x86 VM when built using IBM SDK. These failures can be ignored.
  • With Open JDK, there are few test case failures related to CompressedOOPsObjectSize flag which can be ignored as the basic functionality is not impacted.
  • Click here to know more about how to start a locator and server. In case of "gfsh: command not found" error, set below path to PATH variable:
export PATH=$PATH:/<source_root>/incubator-geode/geode-assembly/build/install/apache-geode/bin

References

https://github.com/apache/incubator-geode
https://cwiki.apache.org/confluence/display/GEODE/Index http://geode.incubator.apache.org/

Clone this wiki locally