OpenJDK 10 zero For Mips32el java -version IncompatilveClassChangeError

William Larson wlarsong at gmail.com
Fri Jun 5 00:00:57 UTC 2020


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