[jdk11u-dev] It is no longer possible to build jdk11u with a jdk10 boot JDK and --with-jtreg

Frederic Thevenet fthevene at redhat.com
Wed Jun 5 07:53:07 UTC 2024


Hi,

The build guide over on openjdk.org states that the "the boot JDK for 
building JDK major version N should be a JDK of major version N-1".
This, however, appears to no longer be possible for 11u since 11.0.24+3 
under certain circumstances.
Starting with the backport of 8314495[2], 'configure' now enforces that 
the version of jtreg passed using '--with-jtreg' is 7.3.1 or higher  as 
it now requires jtreg 7.3.1 [1] and fails if this is not the case.
Jtreg 7.x, however, requires jdk11 or higher.

As a result, when attempting to build jdk11u from the latest tag with  a 
jdk 10 bootJDK, you'll either be presented with the following error when 
running configure with jtreg 6.x:
"configure: error: jtreg version is too old, at least version 7.3.1 is 
required"

Or the following error when using jtreg 7.3.1:
"checking jtreg version number... Error: LinkageError occurred while 
loading main class com.sun.javatest.regtest.Main
     java.lang.UnsupportedClassVersionError: 
com/sun/javatest/regtest/Main has been compiled by a more recent version 
of the Java Runtime (class file version 55.0), this version of the Java 
Runtime only recognizes class file versions up to 54.0"

As a result, it is only possible to successfully run configure using 
jdk11 as the bootJDK, which is in direct contradiction with the 
statement from the openjdk build guide, so I think it is important that 
things are clarified in one way or another.

Regards,
Frederic

[1] 
https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#boot-jdk-requirements
[2] https://github.com/openjdk/jdk11u-dev/pull/2612

-- 
Frederic Thevenet
Senior Software Engineer - OpenJDK
Red Hat France <https://www.redhat.com>
BAF5 C2D2 0BE0 1715 5EE1 0815 2065 AD47 B326 EB92



More information about the jdk-updates-dev mailing list