在arm ubuntu上编译openjdk 7

时间:2016-01-06 17:35:52

标签: jvm openjdk jvm-hotspot

我正在尝试在我的手臂ubuntu上编译openjdk 7:

make all ALLOW_DOWNLOADS=true DISABLE_HOTSPOT_OS_VERSION_CHECK=ok

然后我收到了这个错误:

g++ -DLINUX -D_GNU_SOURCE -DIA32 -I/home/darklord/Develop/jdk7/hotspot/src/share/vm/prims -I/home/darklord/Develop/jdk7/hotspot/src/share/vm -I/home/darklord/Develop/jdk7/hotspot/src/cpu/x86/vm -I/home/darklord/Develop/jdk7/hotspot/src/os_cpu/linux_x86/vm -I/home/darklord/Develop/jdk7/hotspot/src/os/linux/vm -I/home/darklord/Develop/jdk7/hotspot/src/os/posix/vm -I/home/darklord/Develop/jdk7/hotspot/src/share/vm/adlc -I../generated -DASSERT -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_x86 -DTARGET_ARCH_MODEL_x86_32 -DTARGET_OS_ARCH_linux_x86 -DTARGET_OS_ARCH_MODEL_linux_x86_32 -DTARGET_COMPILER_gcc -DCOMPILER2 -DCOMPILER1  -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden -m32 -march=i586 -pipe -Werror -g -c -o ../generated/adfiles/adlparse.o /home/darklord/Develop/jdk7/hotspot/src/share/vm/adlc/adlparse.cpp 
g++: error: unrecognized argument in option '-march=i586'

似乎正在尝试使用x86配置进行编译。那么如何在ARM机器上进行构建传递呢?

1 个答案:

答案 0 :(得分:0)

您必须为g ++指定适当的架构选项。参考here

  

-march =名       它指定目标ARM体系结构的名称。 GCC使用此名称来确定它何时可以发出什么样的指令   生成汇编代码。此选项可与结合使用   或者代替-mcpu =选项。允许的名称为:armv2', armv2a',armv3', armv3m',armv4', armv4t',armv5', armv5t',   armv5te', armv6',armv6j', iwmmxt',`ep9312'。

请务必参考gcc

的正确版本文档