I'm very confused.

Where did this rt-closed.jar file come from? All the jdk7 copies I have
do not have any jdi class files in them (jdi is all open GPL sources).
The rt-closed.jar files I have all contain only 75 class files
(roughly half jmx/snmp and half media/sound).

The openjdk6 rt-closed.jar file only has 25 jmx/snmp class files in it.

Could this be a very very OLD rt-closed.jar file? Or perhaps someone
copied some rt.jar to rt-closed.jar?

Furthermore, tools.jar does not normally live in the jre (jre/lib/tools.jar)
but above that at lib/tools.jar.

There is something very strange going on here.

-kto

Christian Thalinger wrote:
On Wed, 2008-10-22 at 12:16 +0100, Andrew John Hughes wrote:
Ok, then it sounds like something is either not being built into the jars
in bootstrap/jdk1.6.0 or they are being missing off the classpath used
by HotSpot. IIRC, hotspot-tools.jar should include com.sun.tools.jdi.*.

The class is not in tools.jar but in rt-closed.jar:

$ unzip -l bootstrap/jdk1.7.0/jre/lib/tools.jar | grep jdi.Linked
$ unzip -l bootstrap/jdk1.7.0/jre/lib/rt-closed.jar | grep jdi.Linked
     9421  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap.class
     2259  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap$HashIterator.class
     1301  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap$1.class
     1769  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap$Entry.class
     1176  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap$2.class
     2415  10-18-08 17:16   com/sun/tools/jdi/LinkedHashMap$3.class
$

The command line compiling the HotSpot classes is:

/export/home/twisti/projects/openjdk/icedtea6-bootstrap/build-hotspot-m64/bootstrap/jdk1.6.0/bin/javac
 -source 1.4 -classpath 
/export/home/twisti/projects/openjdk/icedtea6-bootstrap/build-hotspot-m64/bootstrap/jdk1.6.0/lib/tools.jar
 -g -d ../generated/saclasses

and bootstrap/jdk1.6.0/lib/tools.jar is linked to:

$ ls -l bootstrap/jdk1.6.0/lib/
total 3
drwxr-xr-x 2 twisti staff   5 Oct 18 17:08 endorsed/
lrwxrwxrwx 1 twisti staff 110 Oct 18 18:49 tools.jar -> 
/export/home/twisti/projects/openjdk/icedtea6-bootstrap/build-hotspot-m64/bootstrap/jdk1.7.0/jre/lib/tools.jar

In my completed 32-bit IcedTea build, tools.jar contains the JDI
classes:

$ unzip -l openjdk/control/build/solaris-i586/lib/tools.jar | grep jdi.Linked
     1177  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap$2.class
     2389  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap$3.class
     1763  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap$Entry.class
     9571  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap.class
     2244  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap$HashIterator.class
     1304  10-12-08 14:45   com/sun/tools/jdi/LinkedHashMap$1.class

So it seems IcedTea should add these classes to the tools.jar.

- Christian

Reply via email to