2008年3月28日 星期五

[Java] 重新編譯 JDK -- OpenJDK Build - 尚未完成

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, 需要更換. 如果你遇到一樣的問題, 也可以去下載看看.

 

snap006

 

準備工作:

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 processor

Utils 套件:
cpio: A program to manage archives of files
file: Determines file type using 'magic' numbers

snap006

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) 

snap006

設定 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\bin

bash --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

<卡住>

 

沒有留言:

張貼留言