LoginSignup
1
1

More than 3 years have passed since last update.

WindowsでOpenJDKを手動ビルドする

Last updated at Posted at 2019-06-28

手動ビルドとかおなかがきっと痛くなってしまうやつ。たぶん苦行。覚書。
READMEにそって作業をする。

手順

環境準備編

  1. Cygwinをインストールする。別にCygwinじゃなくっても好きなやつでいいと思う。
  2. Mercurialクライアントをインストール。
    ここから好きなのをインストール。
    楽そうな響きに弱いので、TortoiseHgをインストール。(無心でNextを押す)
    ちょっとggrとGUIクライアントで人気らしい
  3. Cygwinの場合、OpenJDKのビルドに必要なツールがそろってないと思われるのでREADMEの表に書いてあるものをすべてインストール。 ちなみに、パッケージの追加は、Cygwinのインストールに使ったsetup.exeをもう一度起動すればOK。
    インストールの時と同様に進めて、SelectPackagesのところで、ViewをNotInstalledにして必要なものを選択する。(画像はzipのインストール例) image.png
    次へを押した後に出てくるインストールするものの一覧。 image.png

ビルド編

  1. OpenJDKのソース全体を取ってくるために、ルートリポジトリにあるget_source.shを実行する。

    
    $ cd /cygdrive/d
    $ hg clone http://hg.openjdk.java.net/jdk8/jdk8
    $ cd jdk8
    $ bash ./get_source.sh
    スクリプト実行が成功したらフォルダの中身は下記のようになる(たぶん)
    $ ls
    ASSEMBLY_EXCEPTION  hotspot    LICENSE   README-builds.html
    common              jaxp       make      test
    configure           jaxws      Makefile  THIRD_PARTY_README
    corba               jdk        nashorn
    get_source.sh       langtools  README
    
  2. ビルド開始。

    
    $ bash ./configure
    

    何やらエラーが出た。
    
    configure: Your cygwin is too old. You are running 3.0.7(0.338/5/3), but at least cygwin 1.7 is required. Please upgrade.
    configure: error: Cannot continue
    configure exiting with result code 1
    

    Cygwinのバージョンが悪いらしい。一見、1.7以上が必要で3.Xなのでよさそうだけど、jdk8/common/autoconf/basics_windows.m4 を見ると下記のような記述が。
    
    CYGWIN_VERSION_OK=$ECHO $CYGWIN_VERSION | $GREP ^1.7.
    if test "x$CYGWIN_VERSION_OK" = x; then
      AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
    

    どうも1.7系以外ははじかれる?
    autotoolsの知識ほぼ0なので、こっちの設定を1.7以上に書き換えるか、1.7系の古いCygwin取ってくるか悩む。前者をいったん頑張ったほうが学びはありそう。

今日はここまで。作業進めたら随時更新。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1