Building OpenJDK9 on Mac

この記事は【2016年6月6日】と作成から2年以上経っているため、記事の内容が古い可能性があります。最新の情報を合わせてご確認されることを推奨いたします。

Javaをデバッグ実行したくOpenJDKをmac上でビルドした時のメモ。僕の環境は以下の通り。

ビルド環境

  • OS X EL Captain 10.11.5
  • XCode7.3.1
  • JDK1.8.0_77

  • OpenJDK9

ビルド

OpenJDKのリポジトリはmercurialでホスティングされているのでインストールする。

続いてOpenJDK9のビルド。OpenJDK9からは、clangコンパイラに対応しているらしい。README-builds.htmlを読むと、以下のようなビルド環境が前提となっている。

Base OS and Architecture OS C/C++ Compiler Bootstrap JDK
Mac OS X X64 (64-bit) Mac OS X 10.9 “Mavericks” Xcode 6.3 or newer JDK 8

無事にビルドが終わるとbuildディレクトリ下に各種バイナリファイルが生成される。

デバッグ実行

今回は、lldbを使って行なう。ちなみに、gdbの場合はコード署名が必要となる(参考リンク参照)。

Javaのサンプルプログラムは以下の通り。

続いてサンプルプログラムをコンパイルしjavaを実行してみる。

ステップ実行していくと、get_cpu_info_stub(&_cpuid_info);の所でSIGSEGVで落ちる。。この先は深くてまだ追えていない。

debug-xcode

参考リンク

  • http://openjdk.java.net
  • http://jcdav.is/2015/08/26/building-a-debug-jvm/
  • https://bugs.openjdk.java.net/browse/JDK-8152856
  • http://d.hatena.ne.jp/torazuka/20150102/buildjdk9
  • http://qiita.com/takahashim/items/204ffa698afe09bd4e28
  • http://lldb.llvm.org/lldb-gdb.html
カテゴリー: java | タグ: | 投稿日: | 投稿者:

byebyehaikikyou について

産業機械系エンジニア→アフィリエイトWeb広告系のアプリ開発→PostgreSQL周辺機能の開発→企画開発(現在ここ) 地方でITエンジニアをしています。Webやスマフォアプリ、Hadoopなどのビッグデータに関するシステムに関わり、現在は企画開発などの業務。 日々のインプットを発信してます。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください