RFR [JEP 220] Modular Run-Time Images - fix zero build

Xerxes Rånby xerxes at zafena.se
Wed Dec 3 13:37:46 UTC 2014

Hi Chris!

The build changes introduced a new dependency that sa-jdi.jar is always 

The sa-jdi.jar do not get built  for Zero and Itanium builds.
Zero is built using the --with-jvm-interpreter=cpp 
--with-jvm-variants=zero configure options.

The sa-jdi.jar also do not exist if you use the --with-import-hotspot= 
to import alternative OpenJDK JVM such as
a pre-compiled CACAO JVM or JamVM libjvm.so .

I would suggest to change the jdk/make/Import.gmk and 
jdk/make/gensrc/Gensrc-jdk.jdi.gmk to first check if sa-jdi.jar
exist before adding it to the SA_TARGETS and GENSRC_JDK_JDI something 
like this:

Index: openjdk-jdk9-b38/jdk/make/Import.gmk
--- openjdk-jdk9-b38.orig/jdk/make/Import.gmk   2014-11-17 17:34:13.830175424 +0100
+++ openjdk-jdk9-b38/jdk/make/Import.gmk        2014-11-18 09:10:25.420715300 +0100
@@ -221,6 +221,8 @@
  # even if zip is already unpacked.
  $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent/_the.sa.services: $(HOTSPOT_DIST)/lib/sa-jdi.jar
+# sa-jdi.jar do not exist for Itanium and zero
+if [ -a $(HOTSPOT_DIST)/lib/sa-jdi.jar ] ; \
  SA_TARGETS += $(JDK_OUTPUTDIR)/modules/jdk.hotspot.agent/_the.sa.jar.unpacked \
Index: openjdk-jdk9-b38/jdk/make/gensrc/Gensrc-jdk.jdi.gmk
--- openjdk-jdk9-b38.orig/jdk/make/gensrc/Gensrc-jdk.jdi.gmk    2014-11-18 08:57:26.504852865 +0100
+++ openjdk-jdk9-b38/jdk/make/gensrc/Gensrc-jdk.jdi.gmk 2014-11-18 09:10:43.348804201 +0100
@@ -78,12 +78,10 @@
+# sa-jdi.jar do not exist for Itanium and zero
+if [ -a $(HOTSPOT_DIST)/lib/sa-jdi.jar ] ; \
  GENSRC_JDK_JDI += $(SUPPORT_OUTPUTDIR)/gensrc/jdk.jdi/META-INF/services/com.sun.jdi.connect.Connector \


>> From: Chris Hegarty <chris.hegarty at oracle.com>
>> Subject: RFR [JEP 220] Modular Run-Time Images
>> Date: 20 November 2014 21:39:14 GMT
>> To: jigsaw-dev <jigsaw-dev at openjdk.java.net>, jdk9-dev <jdk9-dev at openjdk.java.net>, build-dev <build-dev at openjdk.java.net>, Alan Bateman <alan.bateman at oracle.com>, Alex Buckley <alex.buckley at oracle.com>, Chris Hegarty <chris.hegarty at oracle.com>, Erik Joelsson <erik.joelsson at oracle.com>, Jonathan Gibbons <jonathan.gibbons at oracle.com>, Karen Kinnear <karen.kinnear at oracle.com>, "Jim Laskey (Oracle)" <James.Laskey at oracle.com>, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>, Mandy Chung <mandy.chung at oracle.com>, Mark Reinhold <mark.reinhold at oracle.com>, Paul Sandoz <paul.sandoz at oracle.com>, "A. Sundararajan" <sundararajan.athijegannathan at oracle.com>
>> This is a review request for the changes for JEP 220: Modular Run-Time Images [1].
>> There are a number of individuals responsible for these changes. Some, possibly not all, are explicitly listed in the 'To' section of this mail, and they will help address any comments arising from this review request.
>> The new run-time image structure is defined in JEP 220 [1], and can be seen as a result of building the staging forest [2], or in the early access builds [3].
>> Webrevs:
>>    http://cr.openjdk.java.net/~chegar/8061971/00/
>> Due to the significant impact of these changes, a JDK 9 promotion has been tentatively reserved for their integration. All comments are welcome, although given the nature of the changes then we might have to create separate issues in JIRA to address some of them later in jdk9/dev.
>> -Chris.
>> [1] http://openjdk.java.net/jeps/220
>> [2] http://hg.openjdk.java.net/jigsaw/m2/
>> [3] http://openjdk.java.net/projects/jigsaw/ea

More information about the build-dev mailing list