bootstrapping 1.4 with 1.3 (was JDK 1.5 / 5.0)

Kurt Miller truk at
Fri Sep 17 11:39:04 PDT 2004

From: "Greg Lewis" <glewis at>
> On Fri, Sep 17, 2004 at 10:12:29AM +0300, Alexey Zelkin wrote:
> > Actually it should not.  JDK releases are able to be bootstraped with
> > JDK release.  When I was expirementing with jdk 1.5.0 this spring, I was
> > able to use jdk 1.4.2 to bootstrap.
> Maybe so, but you certainly can't bootstrap 1.4.2 with 1.3.1 for example.
> I can't recall an earlier release that was bootstrappable at release time
> by the previous release.  They usually drop that feature later in the
> development cycle.  Hopefully they haven't this time, but I'm not holding
> my breath :).

Following up on some suggestions that Greg gave me a while

I've made some progress with using 1.3 to bootstrap 1.4. 1.3 can be
used to bootstrap 1.4 hotspot build, but fails in j2se. On OpenBSD,
if I use the FreeBSD 1.4 rt.jar and tools.jar to get the subset of classes
needed for bootstrapping I get further. There are still a set of source
and header files that get created during bootstrapping that 1.3 can't
create and are not available elsewhere:


Since all of the above falls into the category of 'source', I believe
they can be distributed as a dist file similar to how the patchset
is distributed (click-on verification of SCSL status).

I have a working OpenBSD port framework for bootstrapping 1.4
using this method. There's one remaining problem. Until FreeBSD
releases a binary 1.4, I don't have a place to direct OpenBSD users
to get the rt.jar and tools.jar files.

I've tried the linux and solaris rt.jar and tools.jar, but it fails at the
first invocation of native java with:

Error occurred during initialization of VM
java.lang.NoSuchMethodError: java.lang.Class.getName()Ljava/lang/String;

If I can figure this problem out, I think I've got a way to bootstrap
1.4 using 1.3-linux and various distfiles. Otherwise I may have to
wait until FreeBSD releases a binary 1.4 to use this method.

A similar approach may also work for bootstrapping 1.5 (assuming
the above problem is solved).

BTW, if anyone wants to help me along with fixing the above
problem it can be reproduced on FreeBSD by renaming your
rt.jar and using the 1.4 linux rt.jar in its place. Help would be
greatly appreciated.


More information about the freebsd-java mailing list