[Java] Build Open JDK 7 on Mac OSX (TOTD #172)



OpenJDK 7 をMac OSXにポートする際の要件や事前条件、ビルド手順の詳細は以下のwikiに記載されています。

Mac OS X Port
http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port

わかりやすく手順が説明されていますので、読めばわかるはずです。
今回はMacBook Pro 10.7.2上で試してみました。
  1. 以下のコマンドでプリインストールされているJavaのバージョンを確認します。
    > java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511c)
    Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
    
  2. Mercurial を mercurial.berkwood.com からダウンロードし、インストールします(10.7用zip bundleはこちらからダウンロードできます)。
    今回は the /usr/local/bin にインストールしています。
  3. 太字で強調したコマンドを使い、ソースコードを取得します。
    hg clone http://hg.openjdk.java.net/macosx-port/macosx-port
    destination directory: macosx-port
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 437 changesets with 364 changes to 33 files
    updating to branch default
    31 files updated, 0 files merged, 0 files removed, 0 files unresolved
    cd macosx-port
    chmod 7555 get_source.sh
    ./get_source.sh
    # Repos:  corba jaxp jaxws langtools jdk hotspot
    Starting on corba
    Starting on jaxp
    Starting on jaxws
    Starting on langtools
    Starting on jdk
    Starting on hotspot
    # hg clone http://hg.openjdk.java.net/macosx-port/macosx-port/corba corba
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 396 changesets with 3275 changes to 1379 files

    . . .

    # exit code 0
    # cd ./corba && hg pull -u
    pulling from http://hg.openjdk.java.net/macosx-port/macosx-port/corba
    searching for changes
    no changes found
    # exit code 0
    # cd ./jaxp && hg pull -u
    pulling from http://hg.openjdk.java.net/macosx-port/macosx-port/jaxp
    searching for changes
    no changes found
    # exit code 0
  4. App Storeから Xcode をダウンロード、インストールし、環境変数PATHに /Developer/usr/bin を含めておきます。
    注意
    JDK 1.6.0_26 がプリインストールされており、その上にXcodeをインストールしています。今回はこの組み合わせでうまく動作し、wikiの手順にあるようなMac OSXへのJava再インストールは不要でした。
  5. 以下のようにコードをビルドします。
    make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true
    ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v
    1.6` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
    ビルドが終了すると、以下のような表示が現れるはずです。
    >>>Finished making images @ Sat Nov 19 00:59:04 WET 2011 ...
    >>>Finished making images @ Sat Nov 19 00:59:04 WET 2011 ...
    ########################################################################
    ##### Leaving jdk for target(s) sanity all docs images #####
    ########################################################################
    ##### Build time 00:17:42 jdk for target(s) sanity all docs images #####
    ########################################################################
    
    ## Build times ##########
    Target all_product_build
    Start 2011-11-19 00:32:40
    End 2011-11-19 00:59:04
    00:01:46 corba
    00:04:07 hotspot
    00:00:51 jaxp
    00:01:21 jaxws
    00:17:42 jdk
    00:00:37 langtools
    00:26:24 TOTAL
    #########################
    
  6. ディレクトリを移動して、バージョンを確認しましょう。
    >cd build/macosx-universal/j2sdk-image/1.7.0.jdk/Contents/Home/bin
    >./java -version
    openjdk version "1.7.0-internal"
    OpenJDK Runtime Environment (build 1.7.0-internal-arungup_2011_11_19_00_32-b00)
    OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode)
これでできあがりです。今すぐバグを修正したり、新しいバグを登録してください。もしくは、macosx-port-dev メーリングリストでディスカッションして下さい。

現在のバグ報告はこちら。
http://java.net/jira/secure/IssueNavigator.jspa?mode=show&requestId=10795

バグ登録はこちら。
http://java.net/jira/browse/MACOSX_PORT

macosx-port-devメーリングリスト登録はこちら。
http://mail.openjdk.java.net/mailman/listinfo/macosx-port-dev

原文はこちら。
http://blogs.oracle.com/arungupta/entry/build_open_jdk_7_on

0 件のコメント:

コメントを投稿