Ubuntu10.04下build OpenJDK7 的過程
1. 安裝mercurial
Mercurial是一個版本管理工具。
sudo apt-get install mercurial
安裝mercurial的擴展,添加fclone在支持
hg clone http://bitbucket.org/pmezard/hgforest-crew
將以下內容添加到$HOME/.hgrc文件中,如果沒有則自己創建一個:
[extensions]
forest=/home/daren/hgforest-crew/forest.py
fetch=
2. 下載jdk7源碼
hg fclone http://hg.openjdk.java.net/jdk7/jdk7
3. 安裝gcc、g++、make等
sudo apt-get install build-essential
4. 安裝XRender
sudo apt-get install libxrender-dev
sudo apt-get install xorg-dev
5. 安裝alsa
sudo apt-get install libasound2-dev
6. Cups
sudo apt-get install libcups2-dev
7. 安裝jdk6
8. 安裝ant
設置ANT_HOME
9. 安裝findbugs
編譯需要這玩意兒有點奇怪。需要設置FINDBUGS_HOME
10. 測試編譯
export LANG=C ALT_BOOTDIR=/opt/jdk1.6.0_22/
#刪除JAVA_HOME
export -n JAVA_HOME
export ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
make sanity BUILD_JAXWS=false BUILD_JAXP =false
在build BUILD_JAXWS和BUILD_JAXP總是提示找不到源文件,而我又暫時對只對JDK、Hotspot感興趣,所以索性把這兩個給去掉。
如果出現:Sanity check passed.則表示測試編譯通過了,不過也別開心得太早,真正make的時候不保證一定沒問題,也許還會缺少某些依賴。
11. 編譯
export LANG=C ALT_BOOTDIR=/opt/jdk1.6.0_22/
#刪除JAVA_HOME
export -n JAVA_HOME
export ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
#make BUILD_JAXWS=false BUILD_JAXP=false
#make DEBUG_NAME=fastdebug BUILD_JAXWS=false BUILD_JAXP=false
make DEBUG_NAME=all_fastdebug BUILD_JAXWS=false BUILD_JAXP=false
如果一切正常的話在$HOME/jdk7/build/linux-i586/下就有build出來的jdk等了。
posted on 2011-01-03 19:46 happyenjoylife 閱讀(944) 評論(0) 編輯 收藏