RFR: JDK-8041265: jdk/bin/rmic -iiop failed on macosx-x86_64 with "Class sun.rmi.rmic.iiop.BatchEnvironmen not found"
david.dehaven at oracle.com
Mon Apr 28 16:29:57 UTC 2014
"sed -E" should work, no? '\t' is supported in extended regular expressions.
> Hi Erik,
> I applied the patch in a previously failing build environment and it appears to do the business.
> The rmic -iiop is producing its stubs and tie classes.
> thanks for the fix.
> On 28/04/2014 12:57, Erik Joelsson wrote:
>> 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 explicit
>> +# 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