【編譯openjdk學習筆記】

centos7編譯openjdk、win十、netbeans、nfs遠程debug

參考鏈接附上

cashZhang27:CentOS 7編譯jdk7html

雞哥cy:win10利用Netbeans遠程構建調試OpenJDKjava

長蘑菇的木頭:win10安裝nfs服務器並實現liunx訪問linux

環境

centos7c++

[root@localhost src]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
複製代碼

win10apache

Microsoft Windows [版本 10.0.17763.379]
(c) 2018 Microsoft Corporation。保留全部權利。
複製代碼

netbeansbootstrap

NetBeans IDE 8.2 (Build 201609300101)
複製代碼

nfs1.2.36vim

http://r.hanewin.net/nfs1236.exe
複製代碼

centos上的操做步驟

依賴資源安裝

yum install alsa-lib-devel
yum install cups-devel
yum install libX*
yum install gcc gcc-c++
yum install freetype-devel
yum install libstdc++-static
# 只是編譯openjdk不須要安裝,使用nfs共享文件遠程調試
yum install nfs-utils
複製代碼

openjdk

openjdk-7u6-fcs-src-b24-28_aug_2012.zipwindows

unzip openjdk-7u6-fcs-src-b24-28_aug_2012.zip
複製代碼

ant

apache-ant-1.9.14-bin.tar.gzcentos

tar -zxvf apache-ant-1.9.14-bin.tar.gz
複製代碼

bootstrap jdk

jdk-7u4-linux-x64.tar.gz安全

tar -zxvf jdk-7u4-linux-x64.tar.gz
複製代碼

配置環境變量

vi /etc/profile

#set Java enviroment
export JAVA_HOME=/usr/local/src/jdk1.7.0_04
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/src/apache-ant-1.9.14/lib/ant-launcher.jar

#set Ant enviroment
ANT_HOME=/usr/local/src/apache-ant-1.9.14

export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$CLASSPATH:$JRE_HOME/bin:$PATH
複製代碼

###編譯檢查

進入解壓後的openjdk目錄下執行命令:./build.sh

export LANG=C
export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04
export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04
export ALLOW_DOWNLOADS=true
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
export ALT_OUTPUTDIR=/home/administrator/jvm/openjdk/build
unset JAVA_HOME
unset CLASSPATH

make sanity
#檢查輸出結果:Sanity check passed後解開下邊註釋執行編譯./build.sh
#make sanity && make 2>&1 | tee $ALT_OUTPUTDIR/build.log
複製代碼

修改CurrencyData.properties

路徑爲openjdk目錄下jdk/src/share/classes/java/util/CurrencyData.properties文件,將此文件中全部的時間改成10年之內便可

配置環境變量使用本身編譯的openjdk

vim /etc/profile
複製代碼

修改JAVA_HOME

export JAVA_HOME=/home/administrator/jvm/openjdk/build/j2sdk-image
複製代碼

若是不想編譯完整的openjdk只編譯HotSpot

在/home/administrator/jvm/openjdk/hotspot/make 目錄下建立build.sh腳本

export LANG=C
export ALT_BOOTDIR=/usr/local/src/jdk1.7.0_04
export ALT_JDK_IMPORT_PATH=/usr/local/src/jdk1.7.0_04
export ALLOW_DOWNLOADS=true
export HOTSPOT_BUILD_JOBS=4
export ALT_PARALLEL_COMPILE_JOBS=4
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true
export DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
BUILD_DEPLOY=false
BUILD_INSTALL=false
# 指定編譯64位hotspot
export LP64=1
export GAMMADIR=/home/administrator/jvm/openjdk/hotspot
export ALT_OUTPUTDIR=/home/administrator/jvm/openjdk/hotspot/build
unset JAVA_HOME
unset CLASSPATH

make 2>&1 | tee $ALT_OUTPUTDIR/build.log
複製代碼

執行./build.sh看到如下打印恭喜你成功了

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
OpenJDK 64-Bit Server VM (build 23.2-b09-internal-fastdebug, mixed mode)

 1. A1 B5 C8 D6 E3 F7 G2 H4 
 2. A1 B6 C8 D3 E7 F4 G2 H5 
 3. A1 B7 C4 D6 E8 F2 G5 H3 
 4. A1 B7 C5 D8 E2 F4 G6 H3 
 5. A2 B4 C6 D8 E3 F1 G7 H5 
 6. A2 B5 C7 D1 E3 F8 G6 H4 
 7. A2 B5 C7 D4 E1 F8 G6 H3 
 8. A2 B6 C1 D7 E4 F8 G3 H5
複製代碼

常見錯誤內核版本太高,我安裝的centos7的內核版本是3.10沒有遇到此問題

# uname -r
3.10.0-862.el7.x86_64
複製代碼

遇到的小夥伴能夠修改SUPPORTED_OS_VERSION參數

vim openjdk/hotspot/make/linux/Makefile
複製代碼
# We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
# Solaris 2.5.1, 2.6).
# Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.

SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
複製代碼

以上就完成了在虛擬機的cenos7上編譯成功openjdk接下來配置windows10

windows上的操做步驟

安裝netbeans8.2

NetBeans IDE 8.2

安裝nfs

NFS Server 1.2.36

netbeans和nfs的配置參考地址

雞哥cy:win10利用Netbeans遠程構建調試OpenJDK

長蘑菇的木頭:win10安裝nfs服務器並實現liunx訪問

D盤新建文件夾D:\jvm設置共享,windows爲nfs服務端、虛擬機centos爲客戶端掛載

防火牆配置

打開控制面板->系統和安全->Windows Defender 防火牆,點擊左側邊欄"高級設置",進入高級安全windows防火牆設置界面,點擊左側邊欄"入站規則",在右側邊欄點擊"新建規則",以下圖所示

配置nfs

# 我在配置這裏的時候參考大佬的配置沒有成功,在客戶端在虛擬機的centos上mount報錯
#d:\jvm -name:jvm -mapall:1000:1000 -exec 客戶端ip
# 去掉客戶端的ip後成功了
d:\jvm -name:jvm -mapall:1000:1000 -exec
複製代碼

在客戶端虛擬機上掛載文件

sudo mount -t nfs 192.168.0.205:/jvm /home/administrator/jvm/
複製代碼

安裝配置netbeans 照着大佬的配置就好了

雞哥cy:win10利用Netbeans遠程構建調試OpenJDK

忙活兩天終於成功啦

大天然的搬運工,寫這個只是用來作個學習筆記,沒有原創的成分。遇到問題就各類百度,以上內容基本都是我貼出來的博客中Copy過來的。

相關文章
相關標籤/搜索