Win编译32位openjdk Mon 2014-07-21 14:23 win编译32位openjdk7u60: ## 编译jdk7u60过程中的注意点: 0. 先看目录下的README-builds.html,不要太认真看个大概就行 1. 下载最新的Microsoft DirectX SDK,安装时路径不要带括号 2. 安装procps代替free.exe(检查可用内存是会用到,没有应该也可以就是多个警告而已) 3. cygwin-make的版本问题,使用3.81 [snapshot](http://farm6.staticflickr.com/5486/14325549816_da7343282b_o.png) 4. VS2010的cl命令显示的信息一直是中文的话,需要修改源码跳过版本号的检查 [snapshot](http://farm3.staticflickr.com/2928/14162188587_7874083086_o.png) 5. 语言问题,导致编译corba失败!而后面有需要用到这个工程! [snapshot](http://farm3.staticflickr.com/2936/14347140552_0f29391905_o.png) 6. PATH顺序问题,link.exe和find.exe [snapshot](http://farm6.staticflickr.com/5483/14347108132_9abdac5ae8_o.png) 7. 编译时间有点长! [snapshot](http://farm4.staticflickr.com/3867/14162097680_40d5f69561_o.png) [java-version](http://farm4.staticflickr.com/3881/14162098450_7e86bd5b0b_o.png) 8. 默认的make不带调试信息的,需要用`make fastdebug_build`。 ## 步骤: 1、 下载 可以的话,通过cygwin的setup.exe安装mercurial也行。 * hg: <http://tortoisehg.bitbucket.org/download/index.html> * source: http://hg.openjdk.java.net/jdk7u/jdk7u60/ ``` cd E: cd git/ mkdir openjdk cd openjdk/ HG_HOME=/cygdrive/c/Program\ Files/TortoiseHg/ PATH=$PATH:$HG_HOME hg clone http://hg.openjdk.java.net/jdk7u/jdk7u60/ cd jdk7u60/ ls ./get_source.sh ``` 2、 安装依赖软件 * jdk1.7.0_02/apache-ant-1.9.0 * Visual Studio2010 * Cygwin * 按照README-builds.html#cygwin,能找的必须安装,找不到的随意。 * 安装procps,包括了free.exe。 * 安装binutils,包括了ar.exe。 * 替换[make.exe](http://www.cmake.org/files/cygwin/make.exe), 添加[cygintl-3.dll](http://www.opendll.com/dll/c/__32-cygintl-3.dll.zip)。 * 下载解压[freetype](http://jaist.dl.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-bin.zip) * 把bin目录下的freetype6.dll文件拷贝到../lib/freetype.dll * 添加[zlib1.dll](http://75.duote.org/win_dll/zlib1.zip) 也可以下载[安装版本](http://jaist.dl.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/)包括了zlib1.dll * [snapshot](http://farm4.staticflickr.com/3922/14162193337_65d281fc73_o.png) * 下载安装[Microsoft DirectX](http://download.microsoft.com/download/F/1/7/F178BCE4-FA19-428F-BB60-F3DEE1130BFA/DXSDK_Feb10.exe) * 安装路径不要带括号 3、 配置环境 * 切换为英文语言环境,当你重新启动看到的是【Welcome】的时刻说明你修改成功了!重启后记得make clean再进行后面的操作! * Windows7安装更新,添加英文语言包 * 环境变量的所有路径最好是/ 而不是\,不能带双引号(否则中间编译的时刻会遇到问题)[snapshot](http://farm4.staticflickr.com/3862/14162030769_8766efa9a5_o.png) * PATH路径顺序的问题,cygwin/bin放在vs的后面,但需要放在windows的前面。link.exe和find.exe的问题 如果是在X64机器上编译,需要加ARCH_DATA_MODEL的参数。参见【README-builds.html#creating】 ## 参考: * 【膜拜】[openjdk windows 编译](http://blog.csdn.net/instruder/article/details/8834117) * 【有点老,不过注意事项还是相同的】 [自己动手编译Windows版的OpenJDK 7](http://icyfenix.iteye.com/blog/1097344) * 【linux下安装】<http://khotyn.iteye.com/blog/1225348> * 【cl版本问题,以及make程序问题】<http://www.myexception.cn/program/779678.html> * 【emitPermissionCheck问题】<http://mail.openjdk.java.net/pipermail/jdk6-dev/2013-November/003104.html> <http://comments.gmane.org/gmane.comp.java.openjdk.jdk6.devel/976> –END