Hi Doug,

This is very strange. I just synced with the latest JDK7 source from TL and did a clean build, everything went fine, I have a Parts.class

As you said, this is a clean build, right? Not a incremental.

Running a few tests with javac I can see that if you compile URL.java then you will always compile Parts, even if the compile of URL.java has been triggered implicitly by a reference from another class ( and this is typically the case when building the JDK ).

The only thing I can suggest is to resync the repository and try a full clean build. Failing that cd jdk/make/java/net, make clobber, make all. That will rebuild URL.java which will produce Parts.class.

-Chris.

On 03/05/09 17:16, Doug Felt wrote:
resend, bounced the first time

---------- Forwarded message ----------
From: Doug Felt <[email protected]>
Date: Tue, Mar 3, 2009 at 1:52 PM
Subject: clean build doesn't generate package private class
To: [email protected]


I recently fetched jdk7 (after not having done so for a few months) and did
a clean rebuild, and the VM is failing to start.  I'm building on Ubuntu
(2.6.27-11-generic) on i586.  Sanity passes.

make all CC=gcc-4.1 CPP=g++-4.1

On startup I get the following stack trace:

Error occurred during initialization of VM
java.lang.NoClassDefFoundError: java/net/Parts
    at java.net.URL.<init>(URL.java:396)
    at java.net.URL.<init>(URL.java:300)
    at java.net.URL.<init>(URL.java:323)
    at sun.net.www.ParseUtil.fileToEncodedURL(ParseUtil.java:272)
    at sun.misc.Launcher.getFileURL(Launcher.java:442)
    at sun.misc.Launcher$ExtClassLoader.getExtURLs(Launcher.java:190)
    at sun.misc.Launcher$ExtClassLoader.<init>(Launcher.java:161)
    at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:145)
    at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:139)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.misc.Launcher$ExtClassLoader.getExtClassLoader(Launcher.java:138)
    at sun.misc.Launcher.<init>(Launcher.java:71)
    at sun.misc.Launcher.<clinit>(Launcher.java:59)
    at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1325)
    at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1307)

Looking in the classes directory, I see that although URL.class is present,
Parts.class is not.  Parts.class is a package private class defined at the
top level in the same source file as URL.java.

Does anyone recognize this problem?  How do I work around this?  Do I need a
new bootstrap build, or different compiler options?

Reply via email to