centos7編譯openjdk1.7過程及報錯解決

1.準備工作
a. 下載openjdk 7 源代碼 http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip (粘貼鏈接,迅雷可下)

b. 安裝依賴項
我比較懶,沒有去找相關內容,參考了https://www.cnblogs.com/zxfdream/p/5411511.html的內容,其介紹的依賴項中,gawk、m4、openjdk-6-jdk、binutil安裝了,然後就開始安裝了。在centos下面,請用yum search openjdk命令,查找具體的安裝方式。

在ubuntu中有apt-get install build-essential這樣的命令,可以在centos7下使用yum groupinstall “Development Tools”進行安裝相包。依賴項請參看http://blog.csdn.net/qq_18750427/article/details/52038322

c. 環境變量設置

export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk.x86_64
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-1.6.0-openjdk.x86_64
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/cheung/workspace/java/openjdk/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=*,修改成你的openjdk7所在的路徑的

ALT_BOOTDIR=,ALT_JDK_IMPORT_PATH=是java6的路徑,看位置修改

2.編譯過程

make sanity #檢查
make DEBUG_BINARIES=true #編譯
編譯後 build和build-debug目錄裏面的東西就是了

3.報錯分析

問題1:centos awt.h:38:27: fatal error: X11/Intrinsic.h: No such file or
解決辦法:yum install libXt-devel

問題2:fatal error: X11/extensions/XTest.h: No such file or directory
解決辦法:yum install libXtst-devel

問題3:do not have access to valid Cups header file
解決辦法:yum install cups-devel.x86_64

問題4:Error:./gamma: relocation error:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libjava.so: symbol JVM_FindClassFromCaller, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference
解決辦法:第一步:修改文件hotspot/make/linux/Makefile ,去掉文件中所有的test_gamma即可; 第二步:通過vim find / -name ‘CurrencyData.properties‘ 把裏面的時間改在10年之內就可以了

問題5:ERROR: FreeType version 2.3.0 or higher is required.
解決方法:yum install freetype-devel.x86_64

問題6:Linking vm… /usr/bin/ld: cannot find -lstdc++
解決方法:yum install libstdc++-static

問題7:fatal error: X11/extensions/Xrender.h: No such file or directory
解決方法:yum install libXrender-devel.x86_64

更多問題解決方案,請參考http://caoxudong818.iteye.com/blog/1748869

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