CentOS7手動編譯OpenJDK
http://hg.openjdk.java.net/jdk7/jdk7/jdk/
挺不顯眼的;左側有個zip,點一下就會下載下來
2.在CentOS系統上安裝
yum -y install gcc gcc-c++ alsa-lib alsa-lib-devel libXrender libXrender-devel libXi-devel libXt-devel libXtst-devel cups cups-devel
3.配置環境變數(vi ~/.bashrc)
unset CLASSPATH
unset JAVA_HOME
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_HOTSPOT_IMPORT_PATH=/usr/lib/jvm/java-1.7.0-openjdk
export ALT_HOTSPOT_CLIENT_PATH=/usr/lib/jvm/java-1.7.0-openjdk/jre/lib/amd64/client
export ALT_HOTSPOT_SERVER_PATH=/usr/lib/jvm/java-1.7.0-openjdk/jre/lib/amd64/server
export ANT_HOME=/usr/share/ant
export ALT_FREETYPE_HEADERS_PATH=/usr/include/freetype2
export ALT_FREETYPE_LIB_PATH=/usr/lib64
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=false
export DEBUG_NAME=debug
source ~/.bashrc
4.解壓縮檔案,cd到make目錄
make sanity進行檢查
make all進行編譯
期間遇到的問題:
1.不識別'-mimpure-text'引數
錯誤資訊:
gcc: error: unrecognized command line option '-mimpure-text'
make[5]: *** [/openjdk/build/linux-amd64/../linux-amd64-debug/lib/amd64/libverify.so] Error 1
解決辦法:
gcc版本問題,這個命令在本機所用的4.7.2版的gcc中已經去除,既然不能降低gcc版本(本機ubuntu12.10核心用4.7.2版gcc編譯),那
就在 【解壓縮目錄】/make/common/shared/Compiler-gcc.gmk 中去掉 -mimpure-text 命令
2.time is more than 10 years from present: 1136059200000
通過修改【解壓縮目錄】/src/share/classes/java/util/CurrencyData.properties檔案, 今年是2016年,把小於2006年的都改成2006年之前
3.cannot find -lstdc++
sudo yum install glibc-static libstdc++-static
編譯完成後就可以用build下的JDK了。
配置環境變數:
export JAVA_HOME=/home/pijing/software/jdk-9b8c96f96a0f/build/linux-amd64/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
最後大功告成,可以用自己編譯的JDK了: