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
安装XRendersudo apt-get install libxrender-dev
sudo apt-get install xorg-dev
安装alsasudo apt-get install libasound2-dev
Cupssudo 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
编译完成是这样的: