个人记录。
uanme -a Linux caoxudong-youku 3.2.0-34-generic-pae #53-Ubuntu SMP Thu Nov 15 11:11:12 UTC 2012 i686 i686 i386 GNU/Linux
主要参考文档:README-builds.html
在源代码目录就有。
过程:
1. 安装mercurial
2. 下载某个repository(repository与gate的区别,参见http://openjdk.java.net/guide/repositories.html)
3. 执行脚本get_source.sh以获取源代码。
4. 设置基本环境变量。
export LANG=C export ALT_BOOTDIR=$JAVA_HOME export JAVA_HOME= export CLASSPATH=
5. 相关依赖库
5.1 安装CUPs,如果安装的时候制定了自定义目录,则还需要配置环境变量ALT_CUPS_HEADERS_PATH
5.2 安装FreeType,需要2.3以上的版本。如果安装的时候制定了自定义目录,则还需要配置环境变量ALT_FREETYPE_LIB_PATH和ALT_FREETYPE_HEADERS_PATH
5.3 安装ALSA,这个就不要自定义安装了
6. 至此make sanity应该可以通过了,然后make。
7. make时的错误
7.1 找不到X11库:
执行 sudo apt-get install libx11-dev
7.2 fatal error: X11/extensions/shape.h: No such file or directory
执行 sudo apt-get install libxext-dev
7.3 fatal error: X11/extensions/Xrender.h: No such file or directory
执行 sudo apt-get install libxrender-dev
7.4 fatal error: X11/extensions/XTest.h: No such file or directory
执行 sudo apt-get install libxtst-dev
7.5 fatal error: ft2build.h: No such file or directory
执行 sudo apt-get install libxtst-dev
7.6 如果还有缺少库的情况,可以到这里http://packages.ubuntu.com/搜索。
8. 应该可以make成功了
Target all_product_build Start 2012-12-17 11:50:08 End 2012-12-17 12:15:46 00:00:05 corba 00:00:19 hotspot 00:00:04 jaxp 00:00:04 jaxws 00:24:59 jdk 00:00:06 langtools 00:25:38 TOTAL
9. 运行一下
./java -version openjdk version "1.8.0-internal" OpenJDK Runtime Environment (build 1.8.0-internal-caoxudong_2012_12_14_18_38-b00) OpenJDK Client VM (build 25.0-b13, mixed mode)