Cross compiling Openjdk 8 for ARM, can't locate compiler

David Holmes david.holmes at oracle.com
Tue Apr 18 02:24:24 UTC 2017


On 18/04/2017 12:19 PM, David Holmes wrote:
> On 13/04/2017 11:44 PM, Stuart Monteith wrote:
>> Hello Bruno,
>>    I've not tried cross-compiling Java, so I don't have anything that
>> will help you. Your best chance for help is on the aarch32-port-dev
>> mailing list.
>
> Folks there may be able to help but really this is an issue with
> building Zero for ARM on JDK 8. Note than unlike JDK 9 there is no
> OpenJDK ARM port in JDK 8.

And Zero doesn't use cross-compiling.

David

> Cheers,
> David
>
>> BR,
>>    Stuart
>>
>>
>> On 29 March 2017 at 21:23, Bruno Kremel <bruno.kremel at gmail.com> wrote:
>>> Hi All,
>>>
>>> As I was not able to compile OpenJDK 9 (there is disscussion in other
>>> mailing list). I tried to compile OpenJDK 8 precisely changeset 152-b02.
>>>
>>> I configure this way:
>>>
>>> ./configure --with-jvm-interpreter=cpp \
>>> --with-jvm-variants=zero --enable-openjdk-only \
>>> --with-freetype-include=~/linux/buildroot-openjdk8/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/freetype2\
>>>
>>> --with-freetype-lib=~/linux/buildroot-openjdk8/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib\
>>>
>>> --with-freetype=~/linux/buildroot-openjdk8/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/\
>>>
>>> --with-debug-level=release
>>> --openjdk-target=arm-buildroot-linux-gnueabi \
>>> --with-sys-root=~/linux/buildroot-openjdk8/output/host/usr/arm-buildroot-linux-gnueabi/sysroot\
>>>
>>> --with-tools-dir=~/linux/buildroot-openjdk8/output/host \
>>> --disable-freetype-bundling --enable-unlimited-crypto --disable-headful\
>>> OBJCOPY=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-objcopy
>>>
>>> STRIP=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-strip
>>>
>>> CPP_FLAGS=-lstdc++ CXX_FLAGS=-lstdc++
>>> CPP=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-cpp\
>>>
>>> CXX=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-g++\
>>>
>>> CC=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc\
>>> LD=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc\
>>> BUILD_CPP=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-cpp\
>>>
>>> BUILD_CXX=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-g++\
>>>
>>> BUILD_CC=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc\
>>>
>>> BUILD_LD=~/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc
>>>
>>>
>>> The configure script seems to have some bug that it can't locate the
>>> compiler properly:
>>>
>>> ...
>>> checking for cl...
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc
>>>
>>> configure: Resolving BUILD_CC (as
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc)
>>> faile
>>> d, using
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc
>>> directly.
>>> checking for cl...
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-g++
>>>
>>> configure: Resolving BUILD_CXX (as
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-g++)
>>> fail
>>> ed, using
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-g++
>>> directly.
>>> checking for ld...
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc
>>>
>>> configure: Resolving BUILD_LD (as
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc)
>>> faile
>>> d, using
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc
>>> directly.
>>> checking for
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc...
>>> no
>>> checking for
>>> /home/bruno/linux/buildroot-openjdk8/output/host/usr/bin/arm-linux-gnueabi-gcc...
>>> no
>>> configure: error: Could not find a C compiler. You might be able to
>>> fix this by running 'sudo apt-get install build-ess
>>> ential'.
>>> configure exiting with result code 1
>>> ...
>>>
>>> Those files that it claims "no" do exist and they are indeed a GCC
>>> crosscompiler.
>>> The same parameters work for OpenJDK 9 (it does find the compiler).
>>>
>>> How can I resolve this issue?
>>>
>>> Thanks
>>> Bruno Kremel
>>>


More information about the aarch32-port-dev mailing list