-
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.6.0 on Linux on IBM Z for following distributions:
- RHEL (7.3, 7.4, 7.5)
- SLES 12 SP3
- Ubuntu (16.04, 18.04)
The binary for Apache Geode version 1.6.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.3, 7.4, 7.5)
-
With Open JDK:
sudo yum install -y git which java-1.8.0-openjdk java-1.8.0-openjdk-devel
-
-
SLES 12 SP3
-
With Open JDK:
sudo zypper install -y git which java-1_8_0-openjdk-1.8.0.144-27.5.3.s390x java-1_8_0-openjdk-devel-1.8.0.144-27.5.3.s390x
-
-
Ubuntu (16.04, 18.04)
- With Open JDK:
sudo apt-get update sudo apt-get install -y git openjdk-8-jdk
- With Open JDK:
-
-
ProtoBuf
Refer Protobuf build instructions
-
-
For Open JDK
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=-Xmx2048m export JVM_ARGS="-Xms2048m -Xmx2048m"
cd /<source_root>/
git clone https://github.com/apache/incubator-geode.git
cd /<source_root>/incubator-geode/
git checkout rel/v1.6.0mkdir -p /home/test/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protoc/3.5.1
cp /usr/local/bin/protoc /home/test/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protoc/3.5.1/protoc-3.5.1-linux-s390x_64.exe-
Modify
/<source_root>/incubator-geode/geode-protobuf-messages/build.gradleas protoc-3.5.1 binary not available for s390x.@@ -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>/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:
@@ -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>/incubator-geode/
./gradlew test
Notes:
-
There are few test case failures related to
CompressedOOPsObjectSizeflag 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>/incubator-geode/geode-assembly/build/install/apache-geode/bin
https://github.com/apache/incubator-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.