ubuntu 16.04 64 编译 openjdk7

本文详细记录了在Ubuntu14.04系统中使用vmware环境下编译OpenJDK的过程,包括解决构建编译环境时遇到的错误,以及最终成功启动自编译的JVM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装虚拟机什么的可以在网上找一堆资料,我这里用的是vm ware12.5.7 build-5813279。

然后jdk源码下载、编译什么的大致上可以参考以下文章

Ubuntu14.04(64bit)下编译OpenJDK

但是这里用的是14跟16有点区别

首先构建编译环境的时候会出现

Package 'libmotif3' has no installation candidate 错误

这个可以忽略掉,然而另一个错误是

echo "*** This OS is not supported:" `uname -a`; exit 1;
*** This OS is not supported: Linux bcc66964b45e 4.9.27-moby #1 SMP Thu May 11 04:01:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux.
/root/java/openjdk/hotspot/make/linux/Makefile:240: recipe for target ‘;’ failed
根据下面这篇文章来改就ok了

点击打开链接

重新执行build.sh就ok了,大约四十分钟后,出现结果如下:



进入build目录下的j2sdk-image目录有:





根据深入理解java虚拟机:JVM高级特性与最佳实践这本书来启动虚拟机,发现出错:


./gamma: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory

根据以下文章改就行了:

点击打开链接

设置JAVA_HOME为编译好的jdk

export JAVA_HOME=/home/lan/workspace/jvm/build/j2sdk-image/

再运行./gamma -version,出现:

Using java runtime at: /home/lan/workspace/jvm/build/j2sdk-image//jre
Warning:  Cannot open log file: hotspot.log
Warning:  Forcing option -XX:LogFile=/tmp/hs_pid3573.log
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2017_10_08_20_05-b00)
OpenJDK 64-Bit Server VM (build 24.0-b56-jvmg, mixed mode)

大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值