RFR: 8361306: jdk.compiler-gendata needs to depend on java.base-launchers
Aleksey Shipilev
shade at openjdk.org
Thu Jul 3 13:48:40 UTC 2025
On Thu, 3 Jul 2025 10:55:50 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
> A recent run in the Oracle CI produced the following:
>
> Creating ct.sym classes
> /bin/bash: $WS/build/linux-aarch64-open/jdk/bin/java: No such file or directory
> modules/jdk.compiler/Gendata.gmk:72: recipe for target '$WS/build/linux-aarch64-open/support/symbols/ct.sym' failed
> make[3]: *** [$WS/build/linux-aarch64-open/support/symbols/ct.sym] Error 127
> make[2]: *** [jdk.compiler-gendata] Error 2
> make[2]: *** Waiting for unfinished jobs....
> make/Main.gmk:136: recipe for target 'jdk.compiler-gendata' failed
>
>
> `jdk.compiler/Gendata.gmk` calls `$(BUILD_JAVA_SMALL)`, which is created by java.base-launchers (unless cross-compiling). This dependency is not recorded, and it has just worked due to pure luck since jdk/bin/java is usually produced much earlier in the build process.
Looks okay, but I also wonder if `jdk.javadoc-gendata` needs to depend on `java.base-launchers` too? I guess it only needs `bin/javadoc`, and that's why it works?
Alternatively, maybe we make `jdk.compiler-launchers` depend on `java.base-launchers`? IMO sounds reasonable that component-specific launcher depends on the "base" launcher like this.
-------------
Marked as reviewed by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/26113#pullrequestreview-2983266065
More information about the build-dev
mailing list