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