之所以要重新编译Jdk的原因请参考:http://hllvm.group.iteye.com/group/topic/43576(非常感谢R大的解答),下面就说下在windows下编译SunJdk(OracleJdk)6u23的过程。
一:下载源码。
下载jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar、jdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar
http://www.java.net/download/jdk6/6u23/promoted/b05/jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar
http://www.java.net/download/jdk6/6u23/promoted/b05/jdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar
下载完成之后分别执行
java -jar jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar
java -jarjdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar
分别安装,然后合并到一起。
二:配置编译环境:
1、安装MicroSoft Visual Studio .NET 2003 Professional。下载地址:http://pan.baidu.com/s/1c0rPbFU
2、安装MicroSoft DirectX 9。下载地址:http://pan.baidu.com/s/1nPvbC
3、安装Microsoft Layer for Unicode (MSLU)。下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=4237
4、安装cygwin,下载地址:http://cygwin.com/setup-x86_64.exe,安装CYGWIN时不能直接默认安装,因为表1-2中所示的工具都不会进行默认安装,但又是编译过程中需要的,因此要在图1-6的安装界面中进行手工选择。
表1-2 需要手工选择安装的CYGWIN工具
文件名 | 分类 | 包 | 描述 |
ar.exe | Devel | binutils | The GNU assembler, linker and binary utilities |
make.exe | Devel | make | The GNU version of the 'make' utility built for CYGWIN. |
m4.exe | Interpreters | m4 | GNU implementation of the traditional Unix macro processor |
cpio.exe | Utils | cpio | A program to manage archives of files |
gawk.exe | Utils | awk | Pattern-directed scanning and processing language |
file.exe | Utils | file | Determines file type using 'magic' numbers |
zip.exe | Archive | zip | Package and compress (archive) files |
unzip.exe | Archive | unzip | Extract compressed files in a ZIP archive |
free.exe | System | procps | Display amount of free and used memory in the system |
注意:cygwin自带的make.exe的版本是4.0或者3.81,这两个版本在windows下会不识别C:,需要替换成make3.82版本。
下载地址:http://pan.baidu.com/s/1mgNwO6s 下载后重命名为make.exe替换%CYGWIN_HOME%/bin/make.exe
安装完毕之后将cygwin下的bin目录加入到PATH环境变量。
5、下载freetype,下载地址:http://pan.baidu.com/s/1sjlsUvj
6、准备一个Bootstrap Jdk(SunJdk1.6即可)。
7、msvcrt.dll 下载地址:http://pan.baidu.com/s/1bnfFNVx
三:进行编译
首先删除JAVA_HOME、CLASSPATH环境变量,然后执行%VS2003_HOME%/Vc7/bin/vcvars32.bat设置环境变量
注意:为了保险起见执行.bat文件后手动查看下PATH环境变量(我本机的如下):
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\bin;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\Bin;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin;C:\cygwin64\bin
确保PATH环境变量中cygwin的bin目录在vs2003后面。
做完这些之后开始正式编译:
打开cmd,执行以下命令(可以将下列命令copy到.bat文件下,dos下直接执行):
#你的Bootstrap Jdk的目录
set ALT_BOOTDIR=C:/jdk1.6.0_45
#你的Bootstrap Jdk的目录
set ALT_JDK_IMPORT_PATH=C:/jdk1.6.0_45
#你的freetype的include目录
set ALT_FREETYPE_HEADERS_PATH=C:/compileSunJdk6u23/freetype/include
#你的freetype的bin目录
set ALT_FREETYPE_LIB_PATH=C:/compileSunJdk6u23/freetype/bin
#你的MicrosoftDirectX9.0的目录
set ALT_DXSDK_PATH=C:/compileSunJdk6u23/MicrosoftDirectX9.0
#你的msvcrt.dll文件所在的目录
set ALT_MSVCRT_DLL_PATH=C:/compileSunJdk6u23/msvcr
#你的vc的编译器目录
set ALT_COMPILER_PATH=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/bin
#msdevtools的目录
set ALT_MSDEVTOOLS_PATH=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Common7/Tools
#你的MicrosoftLayerForUnicode目录
set ALT_UNICOWS_DLL_PATH=C:/compileSunJdk6u23/MicrosoftLayerForUnicode
#你的MSVCDIR目录
set MSVCDIR=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7
#设置INCLUDE
set INCLUDE=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/include;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Include;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/atlmfc/include
#设置LIB
set LIB=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/lib;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/atlmfc/lib
设置完这些环境变量之后输入bash命令进入bash下,然后cd 到%JDK_SOURCE_CODE_HOME%/control/make/下,检查下依赖的环境是否全部安装完毕:
make dev-sanity BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true HOTSPOT_BUILD_JOBS=6 COMPILER_VERSION=VS2003
如果检查没有问题的话会出现以下字样:
Sanity check passed.
然后在执行最后的make命令之前,注意有两个坑:
1、需要将C:/Windows/System32/find.exe 暂时移动到其他目录下,避免与cygwin/bin/find.exe冲突,造成在编译过程中发生错误。
2、需要将将%VS2003_HOME%Common7\Tools\bin 中的rc.exe copy到 %VS2003_HOME%Common7\Tools下一份,因为在执行过程中发现
会报/bin/sh: C:/PROGRA~2/MICROS~2.NET/Common7/Tools/rc: No such file or directory的错误。
最后执行:
make dev BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true HOTSPOT_BUILD_JOBS=6 COMPILER_VERSION=VS2003
执行大概会消耗40分钟左右,耐心等待下。
PS:在Linux下编译Oracle JDK6u23的话,请参考R大的http://rednaxelafx.iteye.com/blog/875957,本文算是对JRL源码构建OracleJDK6u23在windows上编译的一个补充。
欢迎转载,请在转载时注明文章出处:http://anonymman.iteye.com/blog/2160370
相关推荐
来自OpenJDK网站文件jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar j2se\src\share\classes路径(需安装) JDK6u23源码
但如果仅从“开源”字面意义(开放可阅读的源码)上看,其实Sun自JDK 1.5之后就开始以Java Research License(JRL)的形式公布过Java源码,主要用于研究人员阅读(JRL许可证的开放源码至JDK 1.6 Update 23为止)。...
openjdk采用GPL V2协议,而jdk采用JRL协议。 openjdk没有部署功能,不包含浏览器插件、Java Web Start、Java控制面板等。 openjdk不包含JMX中的可选元件SNMP部分的代码,而Icedtea则为这些不完整的部分开发了相同...
jrl-cmakemodules教程该软件包包含一组全部基于jrl-cmakemodules的“项目”。 它针对两件事: 向新用户介绍jrl-cmakemodules 突出一些鲜为人知的功能随时为该存储库贡献新项目!
java se tomcat struts2 ...jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar(OpenJDK下载) javaee.src.zip(此文件似乎来自老板本tomacat, 我用上面的新版tomacat源码覆盖了一些文件)(csdn网站资源)
RL jRL是用于强化学习的Java库,由Didier Marin( )在其博士期间开发。 它专注于连续的多维状态和动作。依存关系对于最小二乘:JAMA 1.0.2 绘图:gnuplot 对于单元测试:JUnit 4 对于@NonNull和@Nullable注解:org....
一种加热炉的调试界面程序,简单,实用,易操作。
基于异构信息源的产品推荐联合表示学习模型(JRL)的实现_Python_Java_下载.zip
设置要编译这个包,建议创建一个单独的构建目录: mkdir _buildcd _buildcmake [OPTIONS] ..make install请注意,CMake 会生成一个CMakeCache.txt文件,应删除该文件以从头开始重新配置包。依赖关系矩阵抽象层取决于...
JRL:纸代号
allegro_librarian.jrl,1 ant.dra ant.psm apd.jrl apd.jrl,1 at224.dra at224.psm atrm9_PQFP208.dra atrm9_pqfp208.log atrm9_pqfp208.log,1 atrm9_pqfp208.psm atrm9_PQFP208.txt axial3.dra axial3.log axial3....
clang)和Windows(Visual Studio)上进行了测试。 依存关系 要进行编译,您将需要以下工具: > = 2.8.12 (在Windows上使用) 具有C ++ 11支持的编译器 以及以下依赖项: > = 1.49(对于Python绑定,> = 1.64) > =...
如果您无法在线找到这些,可以与我们联系以帮助您。 结果 方法 测地线 马匹 单身的 二 BSD 100 北京 0.49±0.26 0.60±0.23 0.66±0.24 0.48±0.27 0.53±0.25 读写器 0.53±0.21 0.55±0.15 0.42±0.26 0.63±0.25 ...
匠心科技_开发板原理图,基于STM32F405为主控的PMSM开发板,其驱动芯片为IR2101S。电路包含RS232与RS485芯片,方便与外部通信,原理图中有多个按键功能。
300MW火力发电机组技术丛书 电厂化学 内容提要 k力发电r一’化学专中具有技术性强,涵盖r}i‘一的特点,对}lLYl3安个.r济Lr, 影响重大‘,长期以来,...的培}Jrl教材,也l1}作为人y院校电J一化学}l 敬帅嘴一的参冬一朽
RBDyn示例 利用RBDyn的C ++示例。 依存关系 安装 通过脚本安装 $ source install.bash ...$ git clone --recursive https://github.com/jrl-umi3218/Eigen3ToPython.git $ cd Eigen3ToPython $ mkdir build $ cd bui
allegro.jrl,1 ANTI_ES.dra anti_es.psm atm_keyboard.dra ATX.dra atx.psm audio_jack_s.dra audio_jack_s.psm AUTOSAVE.dra autosave.psm AXIAL_15D0.dra axial_15d0.psm base4pin.dra base4pin.psm BAT-BR2032....
设OP n是[n]上的方向保序变换半群。对任意的2≤r≤n-1,研究半群K( n,r) = {α∈OPn: Im(α)≤r}极大正则子半群... N(α)=K( n,r-1)∪(JrLα),α∈Jr,其中:Jr ={α∈OPn: Im(α)=r}; Rα和Lα分别表示α所在R-类和L-类。
我们使用的数据可以从以下下载: ://drive.google.com/file/d/1kGVrFcNZZbZs0ute_roEOg5UkYeh3jRl/view usp sharing或和扩展代码:netf 怎么跑 为不同的场景准备了“ python run_netf.py --config configs / ...