ubuntu 16.04 編譯openjdk之坑
阿新 • • 發佈:2019-02-01
在ubuntu 16.04上編譯openjdk,記錄
- 自行下載jdk,依據readme.html 中的配置下載,7u40的openjdk 需要jdk6u18,orcal 網站下載即可
一般搜尋到的文件都是下面這個,
sudo apt-get install build essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant
- 編譯過程中遇到不少坑,下面地址解決了大部分問題
- 7uXX版本的oopenjdk 限制了只能某些版本的kernel 可使用,在
hotpot/make/linux/Makefile
中的SUPPORTED_OS_VERSION
配置的,一般只有2.4% 2.5% 2.6% 3%
,在後面加上4%
即可,即2.4% 2.5% 2.6% 3% 4%
- 上面文件中沒有提到的,需要刪除
hotpot/make/linux/Makefile
中所有的&& ./test_gamma
,否則會報一個莫名其妙的問題 - 會出現
java.lang.RuntimeException: time is more than 10 years from present: 1120165200000
<OpenJDK原始碼目錄>/jdk/src/share/classes/java/util/CurrencyData.properties
。 我們需要做的是把檔案中以下的時間改為10年內的一個時間
AZ=AZM;2005-12-31-20-00-00;AZN
MZ=MZM;2006-06-30-22-00-00;MZN
RO=ROL;2005-06-30-21-00-00;RON
TR=TRL;2004-12-31-22-00-00;TRY
VE=VEB;2008-01-01-04-00-00;VEF