RFR: JDK-8073166: Unable to successfully build the merge of jdk9/hs with jdk9/dev

Mandy Chung mandy.chung at oracle.com
Mon Feb 16 18:18:26 UTC 2015

This looks fine and good to see the hardcoded exception replaced.


> On Feb 16, 2015, at 2:57 AM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
> Hello,
> When merging jdk9/dev and jdk9/hs, the following message appears and the build fails:
> gmake[2]: *** No rule to make target 'jdk.runtime-java', needed by 'jdk.runtime-libs'. Stop.
> gmake[2]: *** Waiting for unfinished jobs....
> The cause of this error is the combination of JDK-8071338 and JDK-8062303 which left the jdk.runtime module empty of java source and so, a native only module. In make/Main.gmk, we dynamically create targets for building the java and native parts of modules and the dependencies between them. This code assumed that all modules with native parts also had a java part, with one explicit exception. With this fix, the dependencies are only created for modules that actually have both a native and a java part.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8073166
> Patch inline:
> diff -r a67cf596b4fd make/Main.gmk
> --- a/make/Main.gmk
> +++ b/make/Main.gmk
> @@ -347,8 +347,8 @@
>   $(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java))
>   # Declare dependencies from <module>-lib to <module>-java
> -  # Skip jdk.jdwp.agent as it contains no java code.
> -  $(foreach m, $(filter-out jdk.jdwp.agent, $(LIBS_MODULES)), $(eval $m-libs: $m-java))
> +  # Skip modules that do not have java source.
> +  $(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java))
>   # Declare dependencies from all other <module>-lib to java.base-lib
>   $(foreach t, $(filter-out java.base-libs, $(LIBS_TARGETS)), \
> /Erik

More information about the build-dev mailing list