Azul Systems (makers of the high performance Zing Java Virtual Machine) have started producing a commercialised build of OpenJDK called Zulu.
Currently Zulu doesn't include JavaFX support.
Here's how to build OpenJFX and install it into Zulu JDK so your JavaFX applications will run.
# Assumptions:
# Gradle 1.8 is installed and in your $PATH
# Zulu JDK is installed / unzipped on your system.
export ZULU=/home/chris/zulu1.8.0_31-8.5.0.1-x86lx64
# Set JAVA_HOME to your Zulu installation to use it as the bootstrap JDK for building OpenJFX
export JAVA_HOME=$ZULU
export JDK_HOME=$JAVA_HOME
# Clone OpenJFX source
export OPENJFX=/home/chris/openjfx
mkdir $OPENJFX
hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt $OPENJFX
# Build OpenJFX
cd $OPENJFX
gradle build -x test
# Copy OpenJFX binaries into Zulu
export BINARY_TARGET=$ZULU/jre/lib/amd64/
export BINARY_SOURCE=$OPENJFX/build/sdk/rt/lib/amd64
cp $BINARY_SOURCE/libdecora_sse.so $BINARY_TARGET
cp $BINARY_SOURCE/libglass.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_iio.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_common.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_sw.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_es2.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font_pango.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font_freetype.so $BINARY_TARGET
# Copy jfxrt.jar into Zulu's jre/lib/ext
cp $OPENJFX/build/sdk/rt/lib/ext/jfxrt.jar $ZULU/jre/lib/ext/
# Gradle 1.8 is installed and in your $PATH
# Zulu JDK is installed / unzipped on your system.
export ZULU=/home/chris/zulu1.8.0_31-8.5.0.1-x86lx64
# Set JAVA_HOME to your Zulu installation to use it as the bootstrap JDK for building OpenJFX
export JAVA_HOME=$ZULU
export JDK_HOME=$JAVA_HOME
# Clone OpenJFX source
export OPENJFX=/home/chris/openjfx
mkdir $OPENJFX
hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt $OPENJFX
# Build OpenJFX
cd $OPENJFX
gradle build -x test
# Copy OpenJFX binaries into Zulu
export BINARY_TARGET=$ZULU/jre/lib/amd64/
export BINARY_SOURCE=$OPENJFX/build/sdk/rt/lib/amd64
cp $BINARY_SOURCE/libdecora_sse.so $BINARY_TARGET
cp $BINARY_SOURCE/libglass.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_iio.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_common.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_sw.so $BINARY_TARGET
cp $BINARY_SOURCE/libprism_es2.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font_pango.so $BINARY_TARGET
cp $BINARY_SOURCE/libjavafx_font_freetype.so $BINARY_TARGET
# Copy jfxrt.jar into Zulu's jre/lib/ext
cp $OPENJFX/build/sdk/rt/lib/ext/jfxrt.jar $ZULU/jre/lib/ext/
That's it, you're all set :)
I'm seeing: ``` Script '/home/nyap/tasks/openjfx/rt/buildSrc/linux.gradle' line: 96 * What went wrong: A problem occurred evaluating script. > Cannot invoke method split() on null object ```