JDK 11 update

Greg Lewis glewis at eyesbeyond.com
Fri Mar 8 18:04:39 UTC 2019


Hi all,

I wanted to briefly post an update on what's going on with JDK 11.

I'm pleased to say that thanks to the efforts of Kurt Miller there is now
a preliminary port for JDK 11 that supports FreeBSD.  I expect there will
be a port in the FreeBSD ports system within the next week.

If you want to try it sooner, I've placed a tarball of a binary version
that I compiled on FreeBSD 11.2/amd64 at

http://distcache.FreeBSD.org/local-distfiles/glewis/openjdk11-11.0.2.9.1-amd64.tar.xz

This is based on the initial "Alphonse" release at

https://github.com/battleblow/openjdk-jdk11u/releases/tag/jdk-11.0.2%2B9-1

You can view the main repo at

https://github.com/battleblow/openjdk-jdk11u

You will find that a number of things don't work and you'll also likely
find many bugs.  The port is currently at the point where it is self
hosting though, which is a reasonable first release milestone.

This is planned to be the main port repository and should make it easier
for people to contribute.  Just send a github pull request if you have
patches to contribute.

Note that I'll be AFK for the weekend (starting shortly) and won't be able
to respond until Monday.

For those who want to try and compile it, the current commands I'm using
look like this:

env CPPFLAGS=-I/usr/local/include \
    LDFLAGS=-L/usr/local/lib \
    CC=/usr/bin/cc \
    CXX=/usr/bin/c++ \
    bash configure \
        --with-boot-jdk=/usr/local/openjdk11 \
        --disable-ccache \
        --disable-dtrace \
        --disable-javac-server \
        --disable-hotspot-gtest \
        --with-alsa=/usr/local \
        --with-cups=/usr/local \
        --with-freetype=system \
        --with-freetype-include=/usr/local/include/freetype2 \
        --with-freetype-lib=/usr/local/lib \
        --with-milestone=fcs \
        --with-giflib=system \
        --with-zlib=system \
        --with-extra-cflags=-I/usr/local/include \
        --with-extra-cxxflags=-I/usr/local/include \
        --with-extra-ldflags=-L/usr/local/lib \
        --with-toolchain-type=clang \
        --x-includes=/usr/local/include \
        --x-libraries=/usr/local/lib \
        --with-package-path=/usr/local \
        --with-debug-level=release \
        --with-jobs=1

env LANG="C" \
    LC_ALL="C" \
    CLASSPATH="" \
    JAVA_HOME="" \
    LD_LIBRARY_PATH="" \
    CPPFLAGS=-I/usr/local/include \
    LDFLAGS=-L/usr/local/lib \
    CC=/usr/bin/cc \
    CXX=/usr/bin/c++ \
    MAKEFLAGS="" \
    USE_CLANG=true \
    gmake \
    CC=/usr/bin/cc \
    CXX=/usr/bin/c++ \
    COMPILER_WARNINGS_FATAL="false" \
    LOG=debug \
    images

Where I've got the binary tarball installed in /usr/local/openjdk11.  You
should adapt these as necessary for your system.  Note that I'll be
providing little support for anyone attempting to use those commands since
my focus will be on creating the port itself rather than supporting one off
builds.  They should work if you have the right dependencies and you're
running FreeBSD 11.2/amd64.  It's likely only minimal fixes would be
required for FreeBSD 12/amd64 as well, assuming the binary runs, although
no one has tested it there yet.

If you are on i386/powerpc64/arm, which are supported by openjdk8, then
you'll need to work a lot harder to get yourself bootstrapped since there
is no binary.  See https://github.com/battleblow/openjdk-jdk11u/pull/1 for
some hints on how to bootstrap without a working JDK 11.  There will also
likely be errors you need to fix since it has not been compiled on these
platforms yet.

-- 
Greg Lewis                          Email   : glewis at eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis at FreeBSD.org


More information about the freebsd-java mailing list