Ubuntu20.04LTS编译openjdk-8教程
因为网上很多openjdk源码教程都是基于openjdk8,所以考虑搭建jdk8编译环境。本文记录一些安装过程以及遇到的问题和解决方法。
前置环境与安装包
系统版本:
(1)openjdk-8下载链接:download.java.net/openjdk/jdk…
参考:www.cnblogs.com/flying607/p…
(2)openjdk-7下载链接:download.java.net/openjdk/jdk…
安装过程及问题记录
- 首先,把gcc和g++版本降下来
apt install gcc-4.8 g++-4.8
如果出现Package 'gcc-4.8' has no installation candidate
vim /etc/apt/sources.list
deb http://dk.archive.ubuntu.com/ubuntu xenial main
deb http://dk.archive.ubuntu.com/ubuntu xenial universe
apt update
配置新安装的gcc 4.8的启动优先级为100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
配置新安装的g++ 4.8的启动优先级为100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
2. 配置configure
记得一定要选slowdebug,不然cpp编译有优化,不方便调试,你还得重来一遍!!!楼主编译了好多次,一直出问题,包括openjdk11和openjdk8,人早就崩溃了。
sh ./configure --with-target-bits=64 --with-jvm-variants=server --with-debug-level=slowdebug --disable-zip-debug-info --with-boot-jdk=/usr/lib/jvm/openjdk-7-7u75
3. 安装bear
sudo apt-get install bear # 为什么使用bear,因为方便Clion调试不报错
4. 使用bear make
bear make all
- 报错,操作系统OS不支持
vim hotspot/make/linux/Makefile
修改前:SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
修改后:SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4% 5%
6. 继续make
bear make all
7. 继续报错,修改
vim hotspot/make/linux/makefiles/adjust-mflags.sh
67行添加一个大写I
- 继续make
bear make all
9. 继续报错,修改
注释该段或修改源代码,再编译就会忽略掉警告,直到编译完成。
vim ./hotspot/make/linux/makefiles/gcc.make
修改源代码如下:
208 # WARNINGS_ARE_ERRORS = -Werror
209 WARNINGS_ARE_ERRORS = -Wno-all
10. 继续make
bear make all
11. 成功。
导入Clion
打开CLion,操作路径: File > Open > 选择文件
openjdk8/compile_commands.json
之后静静等待Clion导入项目,过程十分漫长。
接下来,就参考blog.csdn.net/Mr_rain/art…操作就行了。
我的记录:
成功!