天天看點

fedora15 編譯openjdk7

最近在看《深入了解Java虛拟機》,本來想按照書上的内容在win7上編譯一把openjdk,結果用了一天也沒有make sanity成功,更别說make了。

涉及到編譯的東西就沒有簡單,build文檔一堆一堆的。

硬着頭皮來吧,win7下沒有成功,轉向熟悉的fedora,不過fedora下編譯也是一堆錯誤,不具體描述錯誤了,根據網上的總結,以下是編譯流程:

一、

yum install git-core mercurial zip bzip2 unzip tar 

yum install autoconf ccache make gcc gcc-c++ libstdc++-devel 

yum install alsa-lib-devellibX11-devel libXext-devel libXt-devel libXrender-devel libXtst-devel libXi-devel libjpeg-devel giflib-devel freetype-devel

yum install curl rpm-build gpg

yum install java-1.6.0-openjdk-devel

yum install ant ant-*

yum install libstdc++-static 

二、

下載下傳cups-1.6.1-source.tar.bz2源碼,把解壓後的目錄下的cups檔案夾copy到/usr/include/下

三、

export LANG=C  

export ALT_BOOTDIR=/usr/lib/jvm/java-openjdk  

export ALLOW_DOWNLOADS=true  

export USE_PRECOMPILED_HEADER=true  

export SKIP_DEBUG_BUILD=false  

export SKIP_FASTDEBUG_BUILD=true  

export DEBUG_NAME=debug  

unset CLASSPATH  

unset JAVA_HOME 

四、

注釋掉

check_os_version:  

#ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)  

#   $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;  

#endif  

五、

進入你下載下傳的openjdk7解壓後的檔案夾,運作java/make/jdk_generic_profile.sh這個腳本

六、

make sanity

看到sanity check pass

七、

make ALLOW_DOWNLOADS=true DISABLE_HOTSPOT_OS_VERSION_CHECK=ok  (最好加上這兩個參數)

成功編譯

八、

進入build/linux-i586-devel/bin/

./java -version

終于可以看到openjdk7了

總之,各種問題出現時,看文檔,搜google找到解決方式。

弄了一天半的時間終于弄好了,沒有白費時間

繼續閱讀