ubuntu编译jdk

个人记录。

 

 

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)
 

 

你可能感兴趣的:(jdk)