Correct Compiler for ARM / Arch64 for the jdk8u forest? (-m64 not supported)

Martijn Verburg martijnverburg at gmail.com
Thu Apr 20 11:16:36 UTC 2017


Hi all,

We've been putting together a community build farm and have wrangled from
ARM machines. We are building from jdk8u and have the following
configuration:

-----

A new configuration has been successfully created in
/home/jenkins/workspace/george_arm_test/openjdk/build/linux-aarch64-normal-server-release
using configure arguments
'--with-boot-jdk=/usr/lib/jvm/java-1.7.0-openjdk-arm64 --enable-ccache
--with-jvm-variants=server
--with-cacerts-file=/home/jenkins/workspace/george_arm_test/cacerts_area/security/cacerts
--with-alsa=/home/jenkins/workspace/george_arm_test/alsa-lib-1.0.27.2
--with-freetype=/home/jenkins/workspace/george_arm_test/openjdk/installedfreetype
--with-x=/usr/include/X11 --with-debug-level=release'.

Configuration summary:
* Debug level:    release
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: linux, CPU architecture: aarch64, address length: 64

Tools summary:
* Boot JDK:       java version "1.7.0_95" OpenJDK Runtime Environment
(IcedTea 2.6.4) (7u95-2.6.4-3) OpenJDK 64-Bit Server VM (build 24.95-b01,
mixed mode)  (at /usr/lib/jvm/java-1.7.0-openjdk-arm64)
* C Compiler:     gcc-5 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0
version 5.4.0 (at /usr/bin/gcc-5)
* C++ Compiler:   g++-5 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0
version 5.4.0 (at /usr/bin/g++-5)

Build performance summary:
* Cores to use:   16
* Memory limit:   128878 MB
* ccache status:  installed and in use

Configured the JDK

------

We notice that the configure output states:

checking if the C compiler supports "-m64"... no
checking if the C++ compiler supports "-m64"... no
checking if both compilers support "-m64"... no
checking if the C compiler supports "-m64"... no
checking if the C++ compiler supports "-m64"... no
checking if both compilers support "-m64"... no

-----

The hotspot build then fails (predictably enough) at:

CCACHE_COMPRESS=1  CCACHE_SLOPPINESS=time_macros /usr/local/bin/ccache
/usr/bin/g++-5 -DLINUX -D_GNU_SOURCE -DAMD64 -DPRODUCT -I.
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/share/vm/prims
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/share/vm
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/share/vm/precompiled
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/cpu/x86/vm
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/os_cpu/linux_x86/vm
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/os/linux/vm
-I/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/os/posix/vm
-I../generated -DHOTSPOT_RELEASE_VERSION="\"25.71-b00\""
-DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"jenkins\""
-DHOTSPOT_LIB_ARCH=\"aarch64\" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""
 -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_64
-DTARGET_OS_ARCH_linux_x86 -DTARGET_OS_ARCH_MODEL_linux_x86_64
-DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti
-fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden -m64  -pipe
-fno-strict-aliasing  -g -fno-omit-frame-pointer -O3  -DVM_LITTLE_ENDIAN
-D_LP64=1 -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function
-Wunused-value     -std=gnu++98 -c -MMD -MP -MF
../generated/dependencies/precompiled.hpp.gch.d -fpch-deps -x c++-header
/home/jenkins/workspace/george_arm_test/openjdk/hotspot/src/share/vm/precompiled/precompiled.hpp
-o precompiled.hpp.gch
*g++-5: error: unrecognized command line option '-m64'*

-----

We're inexperienced at build on this architecture, I assuming that we
either need a compiler that supports -m64 or that -m64 should not be passed
through in this case?

Cheers,
Martijn



More information about the build-dev mailing list