RFR: JDK-8041265: jdk/bin/rmic -iiop failed on macosx-x86_64 with "Class sun.rmi.rmic.iiop.BatchEnvironmen not found"

Erik Joelsson erik.joelsson at oracle.com
Mon Apr 28 11:57:17 UTC 2014

Please review this small patch which is correcting the "clean" 
properties feature in the SetupJavaCompilation macro. On Macosx, sed 
does not understand '\t' which we use to match tab characters. The 
consequence of this is that the character 't' gets removed at beginning 
and end of lines when cleaned on Macosx. The solution is to explicitly 
add a tab character instead.

Tested that it fixes the problem on Macosx and that nothing changes on 
other platforms.

Bug: https://bugs.openjdk.java.net/browse/JDK-8041265
Patch inline:
diff -r ab55a18a95e1 make/common/JavaCompilation.gmk
--- a/make/common/JavaCompilation.gmk
+++ b/make/common/JavaCompilation.gmk
@@ -351,7 +351,8 @@
  # 3. Delete all lines starting with #.
  # 4. Delete empty lines.
  # 5. Append lines ending with \ with the next line.
-# 6. Remove leading and trailing white space.
+# 6. Remove leading and trailing white space. Note that tabs must be 
+#    as sed on macosx does not understand '\t'.
  # 7. Replace the first \= with just =.
  # 8. Finally it's all sorted to create a stable output.
@@ -370,7 +371,7 @@
          | $(SED) -f "$(SRC_ROOT)/make/common/support/unicode2x.sed" \
          | $(SED) -e '/^#/d' -e '/^$$$$/d' \
              -e :a -e '/\\$$$$/N; s/\\\n//; ta' \
-            -e 's/^[ \t]*//;s/[ \t]*$$$$//' \
+            -e 's/^[     ]*//;s/[     ]*$$$$//' \
              -e 's/\\=/=/' | LC_ALL=C $(SORT) > $$@
      $(CHMOD) -f ug+w $$@

More information about the build-dev mailing list