Does not build with openjdk

Project:JNode Core
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed
Description

Environment:
* Ubuntu server 8.10 64bit
* apt-get install openjdk-6-jre-headless openjdk-6-jdk nasm

Reproduction:
* sh build.sh cd-x86-lite

actual result:
...
java-image:
[bootimage] Building for CPU: name:GenuineIntel family:0 model:0 step:0 features:FPU,PSE raw:00000001 756E6547 6C65746E 49656E69 00000000 00000000 00000000 00000009
[bootimage] Compiling using X86-Stub and X86-L1A compilers
[bootimage] Method calls method outside KernelSpace:
[bootimage] caller: org.jnode.vm.LoadCompileService#showInfo!()V
[bootimage] callee: java.util.ArrayList#size!()I
[bootimage] Method calls method outside KernelSpace:
[bootimage] caller: org.jnode.vm.VmStackReader#debugStackTraceWithLineNumbers!(I)V
...

Full log attached.

AttachmentSize
build-failed.txt51.84 KB

#1

peda said on IRC:
I only have a rough idea. the bootimage builder needs to know about the classlayout for internal reasons (memory layout, serialization,..), and for that it loads classes and reflects for fields, and this either happens with JNode's classloader or with Sun ones. we had issues with that before and "fixed" it by agreeing to use sun-jdk 6 Smiling. it was a issue when using sun-jdk 5 back then.
[in openjdk 6,] there were quite some bugfixes, replacement code,..

Anyway, we should be able to build with openjdk imho, so this is a bug.

(Ben says) So, the bug is

  1. to make it work with openjdk in the short term
  2. to write a "bootimage builder" which is not dependent on a particular JDK version or implementation, in the long term

#2

I fixed this in trunk. Please test.

#3

It compiles for me now. Thanks a lot!

Testing now...

#4

Status:active» fixed

marking as fixed since you said it's compiling now.

#5

Status:fixed» closed