2021-05-12 14:32:11
Ubuntu 14.04下Java虛擬機器(HOTSPOT)原始碼編譯步驟
2020-06-16 17:43:24
概述
-
hotspot原始碼包含在openjdk7中
-
openjdk7包含了jdk的Java程式碼,所以要用jdk6對這部分程式碼進行編譯。(有點類似於gcc高版本程式碼要用gcc低版本編譯一樣)
準備
-
openjdk 7 原始碼
http://pan.baidu.com/s/1hsrrkEC
強烈建議初學者,用這個jdk原始碼,按照下面的教學設定。其他原始碼編譯時,可能會出現各種古怪問題 -
工作環境
Ubuntu 14.04
編譯步驟
安裝依賴項
sudo apt-get install build-essential gawk m4 openjdk-6-jdk libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev X11proto-print-dev binutils libmotifs3 libmotif-dev ant
解壓縮openjdk原始碼
我把它放到了 Home目錄下面了
Hotspot編譯前設定:
cd 進入openjdk原始碼目錄,切換root使用者
su root
匯入以下環境變數:
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-i386
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-6-openjdk-i386
export ALLOW_DOWNLOADS=true
export HOST_BUILD_JOBS=4
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
export BUILD_JAXP=true
export BUILD_JAXWS=true
export BUILD_CORBA=true
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export BUILD_INSTALL=false
export ALT_OUTPUTDIR=/home/zxf/openjdk7/build
unset JAVA_HOME
unset CLASSPATH
export WARNINGS_ARE_ERRORS=false
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
ALT_OUTPUTDIR=/home/zxf/openjdk7/build,修改成你的openjdk7所在的路徑的
ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk-i386,ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-6-openjdk-i386是java6的路徑,一般不需要修改,裝完 openjdk-6-jdk一般就在這個路徑上
Hotspot編譯前檢查:
make sanity
按照上面環境變數設定後,make sanity 一般不會出問題
Hotspot編譯:
make DEBUG_BINARIES=true
一定要加上DEBUG_BINARIES=true
半個小時基本就能搞定:
Hotspot編譯後位置:
build和build-debug目錄裡面的東西就是啦。
相關文章