如何编译Ubuntu 11.10上的OpenJDK 7debugging版本

我在哪里可以find一组简单的指令来编译Ubuntu 11.10(Oneiric)上的OpenJDK 7debugging版本? debugging版本将使更多JVM选项可用于故障排除目的; 例如, WizardMode 。 开发者指南和构build自述文件有很多噪音,很难遵循。

  • 安装相关软件包:
  sudo apt-get install ant build-essential openjdk-6-jdk
 sudo apt-get build-dep openjdk-6-jdk 
  • 找到你要开始的主要OpenJDK Mercurial存储库 。 这些说明将使用jdk7u2
  • 命令示例包含允许通过代理服务器访问Internet的设置; 删除它们,如果他们不需要你。
  • 克隆Mercurial顶级森林资源库:
  $ mkdir jdk7u2
 $ cd jdk7u2
 $ hg --config http_proxy.host = proxy:1234克隆http://hg.openjdk.java.net/jdk7u/jdk7u2森林
 $ cd森林
 $ sh ./get_source.sh 
  • 编译声音库时,编译将失败。 正如这里所建议的那样,使用下面的代码修补相应的Makefile
  $ echo -e“--- old / jdk / make / javax / sound / jsoundalsa / Makefile 2012-01-28 12:00:00.000000000 -0500 \ n +++ new / jdk / make / javax / sound / jsoundalsa / Makefile 2012- 01-28 12:00:00.000000000 -0500 \ n @@ -65,7 +65,7 @@ \ n \ t \ $(MIDIFILES_export)\\\\ n \ t \ $(PORTFILES_export)\ n \ n -LDFLAGS + =  - 弹出\ n + EXTRA_LIBS + =  - 弹出\ n \ n CPPFLAGS + = \\\\\ n \ t-DUSE_DAUDIO = TRUE \\\\“|  patch -p1 
  • 编译:
  $ export LANG = C ALT_BOOTDIR = / usr / lib / jvm / java-6-openjdk ANT_OPTS =“ -  Dhttp.proxyHost = proxy -Dhttp.proxyPort = 1234 -Dhttps.proxyHost = proxy -Dhttps.proxyPort = 1234”
 $。  JDK /化妆/ jdk_generic_profile.sh
 $ make ALLOW_DOWNLOADS = true fastdebug_build 
  • 编译将需要一段时间。
  • 验证构建:
  $ build / linux-amd64-fastdebug / j2sdk-image / bin / java -version
 openjdk版本“1.7.0-internal-fastdebug”
 OpenJDK运行环境(build 1.7.0-internal-fastdebug-user_2012_01_28_13_25-b00)
 OpenJDK 64位服务器虚拟机(build 22.0-b10-fastdebug,混合模式)
 $ build / linux-amd64-fastdebug / j2sdk-image / bin / java -XX:+ AggressiveOpts -XX:+ UnlockDiagnosticVMOptions -XX:+ PrintFlagsFinal -XX:+ PrintFlagsWithComments -version 
  • 如果您遇到问题,请阅读“OpenJDK开发人员指南”和OpenJDK Build README 。