RFR: JDK-8073166: Unable to successfully build the merge of jdk9/hs with jdk9/dev
Erik Joelsson
erik.joelsson at oracle.com
Mon Feb 16 10:57:54 UTC 2015
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