Ubuntu 16.04下OpenJDK8编译和Debug

系统环境为Ubuntu 16.04,uname -a:

Linux ddy-Aspire-V5-573G 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

在本文中,要编译的openjdk版本为:openjdk-8u40-src-b25-10_feb_2015。
尝试了编译openjdk-8-src-b132-03_mar_2014,但是失败。网上说,因为ubuntu 16.04较新,但是该版本的JDK较老,所以失败。

下面说明编译和debug过程。

openjdk-8u40-src-b25-10_feb_2015 与 openjdk-8-src-b132-03_mar_2014 及  jdk-7u76-linux-x64 下载见

可以到安科网资源站下载文本说明,里面有下载地址:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2017年资料/6月/13日/Ubuntu 16.04下OpenJDK8编译和Debug/

------------------------------------------分割线------------------------------------------

make版本

OpenJDK8可以使用"config && make"编译构建,不再使用Ant和ALT_ *环境变量来配置构建。
不过需要GNU make 3.81或更新的版本

安装引导JDK

我使用的引导JDK是jdk-7u76-linux-x64。

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

安装编译工具类库:

安装gcc、g++、make等
sudo apt-get install build-essential
安装XRender
sudo apt-get install libxrender-dev
sudo apt-get install xorg-dev
安装alsa
sudo apt-get install libasound2-dev
Cups
sudo apt-get install libcups2-dev
安装零碎的工具包
sudo apt-get install gawk zip libxtst-dev libxi-dev libxt-dev

建立编译脚本

--with-boot-jdk:指定引导JDK所在目录,以防其他安装的JDK影响(本机上以前安装了JDK8,并配置了JAVA_HOME指向JDK8);
--with-target-bits:指定编译64位系统的JDK;

为可以进行源码调试,再指定下面三个参数:
--with-debug-level=slowdebug:指定可以生成最多的调试信息;
--enable-debug-symbols ZIP_DEBUGINFO_FILES=0:生成调试的符号信息,并且不压缩;
在openjdk目录下新建build.sh,内容如下:

cd openjdk  
bash ./configure --with-target-bits=64 --with-boot-jdk=/usr/java/jdk1.7.0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0  
make all ZIP_DEBUGINFO_FILES=0

编译

执行./build.sh
编译完成是这样的:
Ubuntu 16.04下OpenJDK8编译和Debug

用GDB测试是否能debug

相关推荐