afaik Pekko will just fail to build at all if you use JDK 11 without
pointing to JDK 8 rt.jar.

This is because Pekko uses sun.misc.unsafe which is only shipping with JDK
8 and the
reason why we have to build on JDK 11 is because there are features
shipping in JDK 11
which pekko uses.

On Wed, May 24, 2023 at 5:40 PM Claude Warren, Jr
<[email protected]> wrote:

> I have a couple of questions:
>
> Q: does the build package the rt.jar in the final binary package?
>
> Q: if it does not, what happens if you try to run using Java 11 on a system
> that does not have Java 8 nor the rt.jar installed?
>
>
>
> On Wed, May 24, 2023 at 4:22 PM Matthew Benedict de Detrich
> <[email protected]> wrote:
>
> > > We could provide a Docker image with the right sbt and Java setup for
> > convenience but I think it is fair not to require users to use Docker.
> >
> > Considering how much implicit behaviour there is in making a full build
> > (as Arnout mentioned earlier, you can compile Pekko fine with just JDK 8
> > just fine however it will be missing post java 8 optional features) I
> would
> > prefer
> > to strongly encourage people to use Docker to do a proper build. As a
> bare
> > minimum we can also print a warning in sbt telling users if they are not
> > going
> > to be making a complete Pekko build when building on JDK 8 (as stated it
> > already errors out if you build on JDK 11 without pointing to a JDK
> > rt.jar).
> >
> > On Wed, May 24, 2023 at 11:22 AM PJ Fanning <[email protected]> wrote:
> >
> > > Thanks Arnout.
> > >
> > > I think if we clearly document what you need to set up to do a build,
> > > that should be enough. I think it is fair to assume that users can
> > > install Java and sbt - and that they should be able to install 2
> > > versions of Java if we are explicit about how to do this and why this
> > > is the best setup for building Pekko.
> > >
> > > We will need to expand what we have in
> > >
> > >
> >
> https://github.com/apache/incubator-pekko/blob/main/README.md#building-from-source
> > >
> > > This README file will appear in the source releases.
> > >
> > > We could provide a Docker image with the right sbt and Java setup for
> > > convenience but I think it is fair not to require users to use Docker.
> > >
> > >
> > >
> > > On Wed, 24 May 2023 at 10:09, Arnout Engelen <[email protected]>
> wrote:
> > > >
> > > > On Wed, May 24, 2023 at 10:57 AM PJ Fanning <[email protected]>
> > wrote:
> > > > > Ok. It seems the nightly job to publish the snapshot jars uses Java
> > > > > 11. It does not explicitly install Java 8 but maybe, it's possible
> > > > > that Java 8 is installed silently,
> > > >
> > > >
> > >
> >
> https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md
> > > > suggests so, yes.
> > > >
> > > > > The nightly build does produce jars that can be used by Java 8.
> > > > >
> > > > > So if this nightly build relies on the silent installation of Java
> 8,
> > > > > should we add a check in our sbt script that will fail if Java 8 is
> > > > > not found? This could be useful for users who are building on their
> > > > > own machines.
> > > >
> > > > This check already exists: when I build with jdk11 without having
> jdk8
> > > > available the build fails with:
> > > >
> > > > [error] A JDK 8 installation was not found, but is required to build
> > > > Apache Pekko. To manually specify a JDK 8 installation, use the "set
> > > > every jdk8home := \"/path/to/jdk\" sbt command. If you have no JDK 8
> > > > installation, target your system JDK with the "set every
> > > > targetSystemJdk := true" sbt command, but beware resulting artifacts
> > > > will not work on JDK 8
> > > >
> > > > It would be good to also document the JAVA_8_HOME environment
> variable
> > > > in this error message. Created
> > > > https://github.com/apache/incubator-pekko/pull/333 for that.
> > > >
> > > >
> > > > Kind regards,
> > > >
> > > > Arnout
> > > >
> > > > > On Wed, 24 May 2023 at 09:38, Arnout Engelen <[email protected]>
> > > wrote:
> > > > > >
> > > > > > On Wed, May 24, 2023 at 10:12 AM PJ Fanning <[email protected]
> >
> > > wrote:
> > > > > > > Only building the website docs needs Java 11 (and up).
> Everything
> > > else
> > > > > > > builds with Java 8 (and up).
> > > > > >
> > > > > > Yes, though builds created with only Java 8 will miss some
> optional
> > > > > > post-Java-8 features/implementations for the "actor-typed",
> > "stream",
> > > > > > "remote" and "cluster-sharding" modules - so for a faithful test
> > > you'd
> > > > > > ideally build with JDK 9-or-later while having the Java 8 runtime
> > > > > > available.
> > > > > >
> > > > > > (TBH I don't think this is _too_ different from other projects
> > where
> > > > > > you have to have some compile-time dependencies installed to be
> > able
> > > > > > to build the project)
> > > > > >
> > > > > >
> > > > > > Kind regards,
> > > > > >
> > > > > > Arnout
> > > > > >
> > > > > > > On Wed, 24 May 2023 at 08:05, Claude Warren, Jr
> > > > > > > <[email protected]> wrote:
> > > > > > > >
> > > > > > > > Justin,
> > > > > > > >
> > > > > > > > There is an issue in the code base that is reasonably common
> > > among systems
> > > > > > > > that operate at low levels and are migrating from Java 8
> > > implementation
> > > > > > > > wherein they need the rt.jar from java 8 for compilation.
> > >  There are
> > > > > > > > several ways to solve this problem, Pekko (and I suppose
> Akka)
> > > require that
> > > > > > > > Java 8 be installed so that the build process can find the
> Java
> > > 8 rt.jar.
> > > > > > > > I suspect that all that is actually required to get the
> current
> > > code to
> > > > > > > > compile is setting JAVA_8_HOME to point to the directory with
> > > the rt.jar in
> > > > > > > > it.  However, the Java 8 rt.jar is still required.  I believe
> > > there is a
> > > > > > > > ticket to resolve this issue but I may be mistaken about
> this.
> > > > > > > >
> > > > > > > > Claude
> > > > > > > >
> > > > > > > > On Wed, May 24, 2023 at 7:38 AM Justin Mclean <
> > > [email protected]>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > Part of the requirement of a release is that someone can
> > build
> > > it on their
> > > > > > > > > system, and that ideally should be easy to do. I would
> assume
> > > by their
> > > > > > > > > system than means a single version of the JDK which they
> use
> > > and is
> > > > > > > > > supported. I’m not sure there is be a need for someone
> > testing
> > > the release
> > > > > > > > > to compile against multiple JDKs?
> > > > > > > > >
> > > > > > > > > Kind Regards,
> > > > > > > > > Justin
> > > > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail: [email protected]
> > > > > > > > > For additional commands, e-mail: [email protected]
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: [email protected]
> > > > > > > For additional commands, e-mail: [email protected]
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Arnout Engelen
> > > > > > ASF Security Response
> > > > > > Committer on Apache Pekko
> > > > > > Committer on NixOS
> > > > > > Independent Open Source consultant
> > > > > >
> > > > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [email protected]
> > > > > > For additional commands, e-mail: [email protected]
> > > > > >
> > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [email protected]
> > > > > For additional commands, e-mail: [email protected]
> > > > >
> > > >
> > > >
> > > > --
> > > > Arnout Engelen
> > > > ASF Security Response
> > > > Committer on Apache Pekko
> > > > Committer on NixOS
> > > > Independent Open Source consultant
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > >
> > >
> >
> > --
> >
> > Matthew de Detrich
> >
> > *Aiven Deutschland GmbH*
> >
> > Immanuelkirchstraße 26, 10405 Berlin
> >
> > Amtsgericht Charlottenburg, HRB 209739 B
> >
> > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> >
> > *m:* +491603708037
> >
> > *w:* aiven.io *e:* [email protected]
> >
>


-- 

Matthew de Detrich

*Aiven Deutschland GmbH*

Immanuelkirchstraße 26, 10405 Berlin

Amtsgericht Charlottenburg, HRB 209739 B

Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen

*m:* +491603708037

*w:* aiven.io *e:* [email protected]

Reply via email to