OpenJDK 10 zero For Mips32el java -version IncompatilveClassChangeError

Mikael Vidstedt mikael.vidstedt at oracle.com
Fri Jun 5 01:44:35 UTC 2020


Looks like you’re using jdk9 as build jdk for jdk10. The build jdk does need to match the jdk you’re building. As Magnus points out in the email you linked to:

"In theory, you should rebuild your buildjdk for each and every change 
("make jdk CONF=buildjdk && make images CONF=mips"); but in reality, I 
don't believe there is really any need to rebuild the buildjdk (unless 
major changes in jlink/jmod happens).”

There are likely to be some of those “major changes” between jdk9 and jdk10.

Cheers,
Mikael

> On Jun 4, 2020, at 5:00 PM, William Larson <wlarsong at gmail.com> wrote:
> 
> Hello,
> I was able to successfully compile/build OpenJDK 10 with following configure
> 
> bash configure
> --openjdk-target=mipsel-oe-linux
> --with-sysroot=/usr/local/oecore-i686/sysroots/mips32el-nf-oe-linux
> --with-toolchain-path=/usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/mipsel-oe-linux
> --with-libffi=/usr/local/oecore-i686/sysroots/mips32el-nf-oe-linux/usr/src/debug/libffi/3.0.13-r0/libffi-3.0.13
> 
> --with-jvm-variants=zero
> --with-build-jdk=./jdk9/build/buildjdk/jdk
> --with-boot-jdk=./jdk9/build/buildjdk/jdk
> 
> I applied this patch to OpenJDK 10 as mips has 128 signals not 64
> https://groups.google.com/forum/#!topic/linux.debian.bugs.dist/Tmgse0HIzDc
> 
> I also Reference this mail from Magnus
> https://mail.openjdk.java.net/pipermail/build-dev/2019-January/024735.html
> 
> Where he suggests using a boot JDK
> 
> CONF=linux-mipsel-normal-zero-release make images
> 
> Works
> 
> However if i copy the images to my QEMU based on the same sysroot and
> compiler above I get
> 
> ./java -version
> Error occurred during initialization of boot layer
> java.lang.IncompatibleClassChangeError: Implementing class
> 
> If I copy the JDK folder just outside of images folder
> (build/linux-mipsel-normal-zero-release/jdk) it works OK albeit it takes a
> LONG time to print
> ./java -version
> openjdk version "10-internal"
> OpenJDK Runtime Environment (build 10-internal+0-adhoc.will.jdk10)
> OpenJDK Zero VM (build 10-internal+0-adhoc.will.jdk10, interpreted mode)
> 
> Why is does
> CONF=linux-mipsel-normal-zero-release make images
> not work?
> -- 
> -William Larson




More information about the build-dev mailing list