-
Notifications
You must be signed in to change notification settings - Fork 56
Building Apache Geode
The instructions provided below specify the steps to build Apache Geode 1.8.0 on Linux on IBM Z for following distributions:
- RHEL (7.4, 7.5, 7.6)
- SLES (12 SP4, 15)
- Ubuntu (16.04, 18.04, 19.04)
The binary for Apache Geode version 1.8.0 can be downloaded from here. Please note that, starting of server is the only verification performed on the binary.
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.
-
RHEL (7.4, 7.5, 7.6)
sudo yum install -y git which java-1.8.0-openjdk java-1.8.0-openjdk-devel
-
SLES (12 SP4, 15)
sudo zypper install -y git which java-1_8_0-openjdk java-1_8_0-openjdk-devel
-
Ubuntu (16.04, 18.04, 19.04)
sudo apt-get update sudo apt-get install -y git openjdk-8-jdk
-
-
ProtoBuf
Refer Protobuf build instructions
-
export JAVA_HOME=<path to java>
export PATH=$JAVA_HOME/bin:$PATH
export LANG="en_US.UTF-8"
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
export _JAVA_OPTIONS=-Xmx5g -Xss5g
export JVM_ARGS="-Xms2048m -Xmx2048m"
cd /<source_root>/
git clone https://github.com/apache/geode.git
cd /<source_root>/geode/
git checkout rel/v1.8.0
mkdir -p /home/test/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protoc/3.6.0
cp /usr/local/bin/protoc /home/test/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protoc/3.6.0/protoc-3.6.0-linux-s390x_64.exe
-
Modify
/<source_root>/geode/geode-protobuf-messages/build.gradle
.@@ -34,7 +34,6 @@ dependencies { protobuf { protoc { // The artifact spec for the Protobuf Compiler - artifact = 'com.google.protobuf:protoc:' + project.'protoc.version' } generatedFilesBaseDir = "$buildDir/generated-src/proto" }
cd /<source_root>/geode/
./gradlew build installDist -x test
Note: If build fails with java.lang.StackOverflowError
error, set -Xss flag in gradle.properties file as follows: (Only for RHEL & Ubuntu)
@@ -41,6 +41,7 @@ productOrg = Apache Software Foundation (ASF)
org.gradle.daemon = true
org.gradle.jvmargs = -Xmx2048m
+org.gradle.jvmargs = -Xss1g
minimumGradleVersion = 3.5.1
# Set this on the command line with -P or in ~/.gradle/gradle.properties
cd /<source_root>/geode/
./gradlew test
Notes:
-
There are few test case failures related to
CompressedOOPsObjectSize
flag which can be ignored as the basic functionality is not impacted. -
Below test case failures are observed with OpenJDK:
-
org.apache.geode.internal.process.NativeProcessUtilsTest > isProcessAlive_livePid_returnsTrue
-
org.apache.geode.internal.process.NativeProcessUtilsTest > isProcessAlive_deadPid_returnsFalse
These failures are known issues. Click here for details
-
-
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>/geode/geode-assembly/build/install/apache-geode/bin
https://github.com/apache/geode
The information provided in this article is accurate at the time of writing, but on-going development in the open-source projects involved may make the information incorrect or obsolete. Please open issue or contact us on IBM Z Community if you have any questions or feedback.