Ubuntu12編譯openjdk7

參考博文:
http://www.myhack58.com/Article/48/66/2015/69362.htm
http://my.oschina.net/u/2358721/blog/525510?fromerr=7eBLWyQx
http://zhaohe162.blog.163.com/blog/static/382167972014101910839474/
http://blog.csdn.net/pange1991/article/details/51580969
一 環境軟件預備
操作系統:ubuntu12.04lts64位
openjdk:openjdk-7-fcs-src-b147-27_jun_2011.zip 此時官網最新版爲openjdk-7u40-fcs-src-b43-26_aug_2013.zip(推薦官網最新版)
netbeans:7.01 c++版本(7.4以上版本debug源碼有問題)
Oracle jdk 7: /usr/local/java/jdk1.7….
二 openjdk編譯
1 安裝aptitude

sudo apt-get install aptitude

2 以後安裝軟件全部用aptitude(對依賴包安裝便捷)
有的類包需要降版本才能排除錯誤

sudo aptitude build-dep openjdk-7
sudo aptitude install openjdk-7-jdk
sudo aptitude install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev ant

3 編譯使用的腳本

#!/bin/bash
export LANG=C
export ALT_BOOTDIR=/usr/local/java/jdk1.7(oracle的jdk)
#export ALT_DEVTOOLS_PATH=/usr/bin
export ALLOW_DOWNLOADS=true #是否需要自動下載,jaxp,jaws可以自動下載
export SKIP_DEBUG_BUILD=false #是否跳過編譯debug版
export SKIP_FASTDEBUG_BUILD=false #是否跳過編譯fastdebug版
#export DEBUG_NAME=debug
export HOTSPOT_BUILD_JOBS=2  #多線程
export ALL_PARALLEL_COMPILE_JOBS=2 #多線程
#export ALT_DEVTOOLS_PATH=/usr/bin
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export SKIP_COMPARE_IMAGES=true
export USE_PRECOMPILED_HEADER=true
export BUILD_LANGTOOLS=true
export BUILD_HOTSPOT=true
export BUILD_JDK=true
BUILD_DEPLOY=false
BUILD_INSTALL=false

unset CLASSPATH
unset JAVA_HOME
make sanity & make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK 2>&1

4 編譯出錯時使用過的指令

cp  build/linux-amd64/lib/amd64/libjsound.so build/linux-amd64/lib/amd64/libjsoundalsa.so
sudo aptitude install libxext-dev
sudo aptitude install libx11-dev
sudo aptitude install libxrender-dev
sudo aptitude install gcc-multilib
sudo aptitude install g++-multilib

將/src/share/classes/java/util目錄下的CurrencyData.properties文件中的時間改爲當前時間10年以內

test_gamma的錯誤需要將相關文件內部所有 &&/test_gamma刪除

動態鏈接庫相關錯誤

sudo gedit /etc/ld.so.conf
添加相關路徑:
include /etc/ld.so.conf.d/*.conf
/home/zyw/myopenjdk/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg
/usr/local/java/jdk1.7.0_80/jre/lib/amd64
最後 sudo ldconfig

三 hotspot編譯
1 openjdk下hotspot下make

make jvmg
相關錯誤解決參照前文

四 導入netbeans
1 新建項目相關修改
導入源:openjdk/hotspot
build command:

${MAKE} -f Makefile  jvmg ALT_BOOTDIR=/usr/local/java/jdk1.7.0_80 ARCH_DATA_MODEL=64 LANG=C

2 項目屬性
運行命令:
/home/zyw/myopenjdk/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma -version
環境
JAVA_HOME /home/zyw/myopenjdk/openjdk/build/linux-amd64/j2sdk-image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章