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