ubuntu版本14.04
1.内核版本不支持
“*** This OS is not supported:" 'uname -a'; exit 1;
解决办法
修改hotspot/make/linux/Makefile
(1)SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% 3.7%
或者
(2)注释掉
#ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
# $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
#endif
2.各种.h找不到
解决办法
为bits,sys,gnu建立软链
sudo ln -s /usr/include/x86_64-linux-gnu/gun /usr/include/gnu
3.64位的ubuntu找不到32位的文件
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
解决办法
sudo apt-get install g++-multilib
4. cc1plus: error: the "stabs" debug format cannot be used with pre-compiled headers [-Werror=deprecated]
build的JVM肯定是32位的。
要加上ARCH_DATA_MODEL=64 来build 64位的
5.头文件宏定义冲突

在Ubuntu 14.04上编译HotSpot时遇到诸如内核版本不支持、头文件找不到、32位文件缺失等问题,本文详细介绍了每个问题的解决方法,包括修改Makefile、创建软链、安装g++-multilib等,最终成功编译了64位JVM。
最低0.47元/天 解锁文章
1545

被折叠的 条评论
为什么被折叠?



