[Slackbuilds-users] possible submission

B Watson yalhcru at gmail.com
Fri Jun 23 05:18:51 UTC 2017


(Apologies to the rest of the list, this turned out to be a much longer
post than originally intended...)

On 6/22/17, Christoph Willing <chris.willing at iinet.net.au> wrote:
>
> I was wondering about this too. Even now, openjdk8 depends on openjdk to
> bootstrap the build which I always thought was a bit strange; it seems
> somehow wrong that building any software depends on the previous version
> of that software.

That's pretty much how all compilers work, though. At least the ones
written in the language they're a compiler for. To build gcc, you need
an existing C compiler to build it with (it probably doesn't *have* to
be gcc itself, just some C compiler with good standards compliance).

...though compiling a JDK requires both a JDK *and* a C compiler (since
bits of it are written in C).

Also, openjdk uses apache-ant as its build system (which is the Java
world's answer to Make), and apache-ant is in Java so it needs a Java
runtime just to execute.

> With gcc-java to be gone soon, building that previous
> version (openjdk) won't be possible anymore, hence why having a -bin
> version is needed for the future.

My thinking exactly.

> Although how long is that sustainable? Imagine in 10 years time -
> working back through the build dependencies of openjdk12 and finding you
> need a binary version of the same software from 10 years ago.

As I understand it, the way it's intended to work with openjdk is that
each version needs to be compiled with the previous version. So openjdk8
needs version 7... sometime in the next 10 years, openjdk12 will need
openjdk11, and that could either be a source or binary install I suppose.

What I don't know (since I haven't paid attention to Java in 10+ years)
is whether future versions of jdk/openjdk will always be compatible
with code written for older versions (source code and/or compiled
classes/jars). Will we get stuck having to still have openjdk version
7 in 10 years, because some piece of software written in Java can't be
compiled or run with openjdk 8 and up?

...Or do we already have that situation, and that's why we have openjdk
versions 6, 7, and 8 in our repo?

> If you instead use the Oracle jdk for bootstrapping, then what does "open"
> in openjdk mean?

Again, my thought exactly.


More information about the SlackBuilds-users mailing list