在ubuntu 16.04上编译openjdk,记录
- 自行下载个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