openjdk12编译以及clion调试踩坑笔记.

这几天在看《深入理解Java虚拟机(第三版)》,目前才看完第一章过了过Java的历史,以为第一章的实战部分应该也是可以直接一路顺畅的完成,结果踩了一堆坑,这边记录一下自己遇到的error,希望能给同样遇到问题的同学提供点思路。

先说我的系统情况,我是用的VMware下的Ubuntu20.04,在虚拟机上完成的所有实战。

下面给出一个我认为非常好的构建OpenJDK12编译环境的教程:
深入理解Java虚拟机(一):Deepin构建OpenJDK12编译环境并调试

当我首先下载openjdk12原码,然后下载一堆依赖,再之后bash configure时出现了第一个error,编译检查并未通过。这个可能的情况书里也有说,我是不太懂的情况下反复编译了,最终导致失败,解决方法:

openjdk12 源码根目录下执行:
make clean
make dist-clean
然后删除生成的build文件夹

bash configure成功了,然后执行make images,又出现了error。这个我查阅了很多资料,其实问题在于gcc的版本太高了,我在Ubuntu20.04中默认下载的是gcc9.4.0,应该将gcc的版本改为更低版本,这里我选择的是gcc7,下面一篇文章介绍了如何下载以及将默认gcc改为gcc7,按照步骤来即可:
Ubuntu 20.04 上安装 gcc/g++7.5

其实这个问题还有一个解决方法:

将
bash configure --enable-debug --with-jvm-variants=server
改为
bash configure --disable-warnings-as-errors --enable-debug --with-jvm-variants=server
也就是加了一个--disable-warnings-as-errors禁止警告,不过我这样操作以后仍然没有编译成功,但也有很多人成功了因此进行了分享,这个也作为备用解决方法吧

openjdk终于编译成功了,接下来开始在clion中进行调试了,这边我踩的坑在于clion的版本,我分别下载了2023.32022.3两个版本的clion,均没有New CMake Project from Sources这个选项,只能new或者open project,我以为问题不大,但是造成的后果是我花了一天时间修复各种BUG,仍然没有调试成功。最终我换成了clion2019.3才成功了,因此我还是建议选择以前版本的IDE进行openjdk12的代码调试。下面是一篇关于clion调试openjdk12的博客,大家可以按照上面的步骤来:
JDK编译以及在CLion中进行源码调试(抄书+踩坑记录)

当我真正调试成功的时候,真的有种解脱的感觉,我一直觉得这毕竟是第一章的实战,如果我把这个放下了看后面的部分,我会很不舒服,终于解决了以后由衷的开心,也希望大家可以完成实战,一起继续啃书,共勉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值