Need reviewer: regression in control builds, workaround fix

Kelly O'Hair kelly.ohair at oracle.com
Thu Jun 24 23:51:43 UTC 2010


Joe,

Looks like I need to undo the removal of the sun/nio/cs/ext classes  
from rt.jar
(they supposedly belonged in charsets.jar). Control builds of jdk7-tl  
are broken.

Apparently in the short time that they have been in jdk7 rt.jar, we  
seem to have
created a dependency on some of the sun/nio/cs/ext classes that we did  
not have before.

The build error happens when CreateSymbols is run during the jdk  
images creation,
missing class sun.nio.cs.ext.DoubleByte. When doing a control build,  
this is a run
of the bootstrap langtools javac.jar, and charsets.jar is not in the  
classpath.

The error looks like:

error: sun.nio.cs.ext.DoubleByte.Encoder: class file for  
sun.nio.cs.ext.DoubleByte not found
error: class file for sun.nio.cs.ext.DoubleByte not found 1 error
gmake[3]: *** [initial-image-jdk] Error 1
gmake[3]: Leaving directory `/tmp/jprt/P1/B/153854.ohair/source/jdk/ 
make'
gmake[2]: *** [jdk-build] Error 2

A workaround fix is to reverse the change I made to explicitly exclude  
the sun/nio/cs/ext
classes from rt.jar:

---------------------
diff --git a/make/common/Release.gmk b/make/common/Release.gmk
--- a/make/common/Release.gmk
+++ b/make/common/Release.gmk
@@ -549,7 +549,6 @@

  ######################################################
  # List of directories in classes directory that should NOT be in  
rt.jar
-#   sun/nio/cs/ext/ will go into charsets.jar
  ######################################################

  NOT_RT_JAR_LIST = $(ABS_TEMPDIR)/not_rt_jar.list
@@ -572,7 +571,6 @@
    $(ECHO) "META-INF/services/com.sun.tools.xjc.Plugin" >> $@
    $(ECHO) "com/sun/tools/" >> $@
    $(ECHO) "sun/jvmstat/" >> $@
-  $(ECHO) "sun/nio/cs/ext/" >> $@
    $(ECHO) "sun/rmi/rmic/" >> $@
    $(ECHO) "sun/tools/asm/" >> $@
    $(ECHO) "sun/tools/java/" >> $@
-----------------------

I'm not exactly sure what the right fix is here, or if the real fix is  
to track down the
change that added in the new dependence and remove that dependence.
Any help anyone can provide, especially charsets.jar experts would be  
welcome.

-kto




More information about the core-libs-dev mailing list