http://blogs.sun.com/poonam/entry/building_openjdk_on_windows
* 一定要 Visual Studio 2003 才行, 如果 Visual Studio 2005 則會有問題, 因為我只有 2005, 所以只好等下次再來 build 了. (這好像有人已經解決了, 用什麼 mt 指令之類的)
----------------------------- 下面是失敗的範例 -------------
* 遭遇到 target 'f' doesn't match the target partern 這樣錯誤訊息
尚未完成... 在 make sanity 的程序中, 卡在 Release.gmk:507
<sol> 在 Liz Chak 先生的網站, 他說只要把 make 換成 3.80 就可以解決這個問題. 剛好我的 make -v 出來是 3.81, 需要更換. 如果你遇到一樣的問題, 也可以去下載看看.
準備工作:
Step 1: 下載 CYGWIN 以提供編譯所需的 unix 命令
設定所需要的命令套件:
Devel 套件:
binutils: The GNU assembler, linker and binary utilities
make: The GNU version of the 'make' utility
Interpreters 套件:
m4: GNU implementation of the traditional Unix macro processorUtils 套件:
cpio: A program to manage archives of files
file: Determines file type using 'magic' numbers
Step 2: 設定 Bootstrap JDK
設定 ALT_BOOTDIR = JDK 的安裝位置
ex:
ALT_BOOTDIR=`cygpath -s -m "F:/Program Files/Java/jdk1.5.0_14"`
Step 3: 下載其他的 binary plug-in (link)
設定 ALT_BINARY_PLUGS_PATH = binary plug-in 的位置
ex:
ALT_BINARY_PLUGS_PATH=F:/JDKSource/jdk-6-ea-plug-b08-windows-i586-26_mar_2008/openjdk-binary-plugs
Step 4: 安裝 Visual Studio .Net 2003 (2005 真的不行嗎?)
設定位置:
執行 VCVARS32.BAT 設定必要的環境變數
ex:
為了等一下能夠在 cygwin 中設定好 vcvars32.bat
修改 cygwin.bat 為
------------------------------------------------------
@echo off
call "H:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32"
f:
chdir f:\cygwin\binbash --login -i
----------------------------------------------------------
設定 msvcrt.dll 位置
ALT_MSVCRT_DLL_PATH=C:/WINDOWS/system32
設定 msvcr71.dll 位置
ALT_MSVCR71_DLL_PATH=C:/WINDOWS/system32
Step 5: 安裝 Microsoft DirectX 9.0 SDK
設定位置
ALT_DXSDK_PATH=DirectX 所在位置
ex:
DXSDK_DIR=`cygpath -s -m "H:/Program Files/Microsoft DirectX SDK (February 2007)"`
開始編譯
一次設定所有的資料 (Visual 2005 的設定)
cd "F:\JDKSource\openjdk-6-src-b08-26_mar_2008.tar\openjdk_source\jdk\make"
./jdk_generic_profile.sh
export ALT_BOOTDIR=`cygpath -s -m "F:/Program Files/Java/jdk1.5.0_14"`
export ALT_BINARY_PLUGS_PATH=F:/JDKSource/jdk-6-ea-plug-b08-windows-i586-26_mar_2008/openjdk-binary-plugs
export ALT_MSVCRT_DLL_PATH=`cygpath -s -m "C:/WINDOWS/system32"`
export ALT_MSVCR71_DLL_PATH=C:/WINDOWS/system32
export DXSDK_DIR=`cygpath -s -m "H:/Program Files/Microsoft DirectX SDK (February 2007)"`
export ALT_COMPILER_PATH=`cygpath -s -m "H:\Program Files\Microsoft Visual Studio 8\VC\bin"`
export MSVCDIR =`cygpath -s -m "H:\Program Files\Microsoft Visual Studio 8\VC"`
export VS71COMNTOOLS=`cygpath -s -m "H:\Program Files\Microsoft Visual Studio 8\Common7\Tools"`
export ALT_COMPILER_PATH=`cygpath -s -m "H:\Program Files\Microsoft Visual Studio 8\VC\bin"`
export ARCH_DATA_MODEL=32
export JDK_TOPDIR=`cygpath -s -m "f:/JDKSource/openjdk-6-src-b08-26_mar_2008.tar/openjdk_source/jdk"`
make sanity
<卡住>
沒有留言:
張貼留言