Problems with non Oracle boot JDKs and class file version 52

Mike Duigou mike.duigou at oracle.com
Fri Dec 7 11:35:28 PST 2012


Apologies. I shouldn't try to send technical messages from a phone....

What I was trying to say was that the problem is that the class files generated by the build process are class file version 52. The problem is not that vm is non-oracle but that it's a version that doesn't support class file version 52. 

In a non-cross compile situation you could use the target vm being built but this won't work in cross compile situations.

This suggests that for cross compiling it may be necessary to build the vm for the host compile environment first in order to ensure that the for commands that must execute using class files that are potentially unsupported by the boot vm.

Confused yet?

Boot VM. 
- May not support class version 52 (or some other feature of the code being built).

Target VM.
- Supports class version 52. 
- May not run on compile host.

Essentially, running anything built other than the javac using the host jvm is suspect. Perhaps it's as Jon and Mandy suggest though this instance is just a case of a bad bootclasspath inclusion.

Mike

On Dec 6 2012, at 16:33 , Mike Duigou wrote:

> For non cross compile situations the answer would be to use the target vm. 
> ?   
> Q
> 
> 
> 
> On 2012-12-06, at 15:35, David Holmes <david.holmes at oracle.com> wrote:
> 
>> I've now seen two people encounter problems trying to build Profiles using the new build system, when their boot JDK is the locally installed IcedTea openjdk distribution (7 in one case and 6 in another).
>> 
>> The error occurs creating jar files eg
>> 
>> Creating resources.jar
>> Error occurred during initialization of VM
>> java/lang/UnsupportedClassVersionError: sun/misc/PostVMInitHook :
>> Unsupported major.minor version 52.0
>> 
>> Are we using bootclasspath tricks that only work on Oracle JDK?
>> 
>> David
>> 




More information about the build-infra-dev mailing list