系统是Ubuntu 11.04,只装了X server和awesome WM,遇到的问题包括一些X11的依赖缺失。
参考文档:http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html
第一步,获得源代码
http://download.java.net/openjdk/jdk7/
可能我的hg有问题或者是因为wall的原因,hg一直出错,abort: error: ''
后来放弃,下载了zip
第二步,make sanity
jdk源码中java文件的编译需要已安装jdk的支持,因此需要先export ALT_BOOTDIR=/usr/lib/jvm/java-6-sun-1.6.0.26/
接下来发现缺少ALSA,FreeType和CUPS
ALSA见上面官方文档
FreeType:sudo apt-get install libfreetype6 libfreetype6-dev
CUPS:sudo apt-get install libcups2 libcups2-dev
还遇到一个ant的问题,说我的ANT_VER=1.6.0,其实ant -version是1.8.1,搞了很长时间,后来新打开一个终端窗口就好了,囧
第三步,make
官方文档说了源码包里不包括jaxp和jaxws的源码,我用了make ALLOW_DOWNLOADS=true,官方推荐下载jaxp和jaxws的源码并设置ALT_DROPS_DIR
make过程中遇到一些与X11有关的问题:
1. /usr/bin/ld -lX11 not found,
sudo apt-get install libx11-dev
2. X11/Intrinsic.h no such file or directory
sudo apt-get install libxt-dev
3. X11/extensions/shape.h
sudo apt-get install x11proto-xext-dev
还有类似的依赖问题到http://packages.ubuntu.com/search?suite=natty§ion=all&arch=amd64&searchon=contents&keywords=xrender.h搜索并安装相应的package即可
OK,build成功,研究一下源码吧