OpenJDK 10 zero For Mips32el java -version IncompatilveClassChangeError
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Jun 5 07:40:09 UTC 2020
On 2020-06-05 08:06, William Larson wrote:
> Hello David,
>
> When running configure
> --with-buildjdk=./jdk/build/linux-x86_64-normal-server-release/jdk
>
> I get the following error
>
> configure: Potential Build JDK found at
> /opt/FaceClockJava/jdk10l/build/linux-x86_64-normal-server-release/jdk is
> incorrect JDK version (openjdk version "10-internal"); ignoring
> configure: (Your Build JDK must be version 9)
> checking for Build JDK... no
> configure: error: Could not find a suitable Build JDK
> configure exiting with result code 1
>
> How do I build with buildjdk10 when it's asking for 9?
You are apparently trying to build JDK 9, not JDK 10. What does
"make/autoconf/version-numbers" say for DEFAULT_VERSION_FEATURE? How did
you clone the source code for JDK 10? Have you modified any files?
/Magnus
>
>
> On Thu, Jun 4, 2020, 9:16 PM David Holmes <david.holmes at oracle.com> wrote:
>
>> William,
>>
>> You need a JDK 10 build JDK not JDK 9 - as Mikael already stated and as
>> Magnus wrote:
>>
>> "When we cross-compile, we need not only a Boot JDK (of version current
>> N-1) running on the build host platform, but we also need a Build JDK,
>> based on the current source code, running on the build host. (This is
>> for running jmod/jlink; it needs to be up to date)."
>>
>> With your JDK 9 build JDK you are getting invalid jmod/jlink output
>> files that prevent the full image from executing. But the exploded image
>> that doesn't use all of those and so may execute okay.
>>
>> David
>>
>> On 5/06/2020 12:22 pm, William Larson wrote:
>>> Hello David,
>>>
>>> I copied everything under
>>>
>>> build/linux-mipsel-normal-zero-release/images/jdk
>>>
>>> Got error
>>>
>>> I then tried just
>>>
>>>
>>> build/linux-mipsel-normal-zero-release/images/jre
>>>
>>> Got the error
>>> I even copied
>>>
>>> build/linux-mipsel-normal-zero-release/images/jmods
>>>
>>> Along side jre and jdk
>>>
>>> Still got the error
>>>
>>> I copied: (note the image folder is missing)
>>> This is a much much bigger folder
>>>
>>> build/linux-mipsel-normal-zero-release/jdk
>>>
>>> To the target and it works albeit very slowly.
>>>
>>> I just want the jre ideally.
>>>
>>> Thanks for the help,
>>>
>>> Will
>>>
>>> On Thu, Jun 4, 2020, 7:12 PM David Holmes <david.holmes at oracle.com
>>> <mailto:david.holmes at oracle.com>> wrote:
>>>
>>> Hi William,
>>>
>>> On 5/06/2020 10:00 am, William Larson 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
>>>
>>> That is not part of the image built by "make images", it is what is
>>> called the exploded image. So I'm not clear exactly what you copied
>>> which did not work? Was it everything under
>>>
>>> build/linux-mipsel-normal-zero-release/images/jdk
>>>
>>> ?
>>>
>>> Cheers,
>>> David
>>>
>>> > ./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?
>>> >
>>>
More information about the build-dev
mailing list