arm64版のMac(M1 Macなど)で、BridgePointを動かすためにやったことのメモです(Thanks Levi !)。
作業のポイント
この記事を書いている時点では、BridgePointのMac版は、x86_64用だけを配布しています(将来的にはarm64版もビルド済みのバイナリーを配布するつもりだそうです)。
そして、Mac x86_64用のBridgePointをarm64用のJDKとともに使おうとしても起動しません。
そこで、arm64上で動作するx86_64用のJDKをインストールし、これを使ってx86_64用のBridgePointを動かします。
それでも、 mcmc
というモデルコンパイラーのプレビルド版は動作しないようなので、これは削除(あるいは改名)して、ソースコード版のモデルコンパイラーを使うようにします。
Eclipse Temurinからx86_64版のJDKを入手する
The Adoptium Working GroupのWebサイト( https://adoptium.net/temurin/releases
)から、Eclipse Temurin JDKのx86_64版のMac用のJDKを入手します(ここでは11を選んでいます)。
入手バージョンを指定する方法(arm64版ではないものを入手する方法)がわかっているなら、 brew のパッケージを利用してもかまわないでしょう。
JDKをインストールする
既存のJDKを削除(もしくは退避)する
もし、すでになんらかの arm64版JDKをインストールして使っている場合は、そちらが呼び出されてしまいます。これを避けるために、既存のJDKを削除するか、JAVA_HOMEを書き換えるなどして対応しましょう。
既存のJDKも共存させたい場合には、 jenv
や anyenv
などを使って、プロジェクトやアプリケーションごとにJDKを切り替えるようにしておくとよいでしょう。
入手したJDKをインストールする
入手したJDKをインストールします。 .pkg
の方を入手していれば、いつものMacのアプリケーションと同じ用にインストールできます。
入手したJDKが有効になっているか確認する
インストールが終わったら、入手したJDKが利用できるようになっているか、環境を確認します。
> java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment Temurin-11.0.15+10 (build 11.0.15+10)
OpenJDK 64-Bit Server VM Temurin-11.0.15+10 (build 11.0.15+10, mixed mode)
> /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
11.0.15 (x86_64) "Eclipse Adoptium" - "OpenJDK 11.0.15" /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
BridgePointをインストールする
BridgePointの入手とインストールについては、次の記事を参照するとよいでしょう。
後半の「BridgePointのインストール」を参照します。
BridgePointを起動する
初めて起動すると、次の記事に記載された現象に遭遇しますので、参照して対処しましょう。
対処が済めば、それ以降は問題なく起動できるようになります。
mcmc
を削除(または退避)する
BridgePointには、ビルド済みのモデルコンパイラー(バイナリーコンパイラー)とソースコード(スクリプト)のモデルコンパイラー(ソースコードコンパイラー)があります、
付随するバイナリーコンパイラーは、arm64のMacでは正常に動作しないそうです。
そこで、これを削除(または退避)します。そうしておくと、モデルコンパイラーとしてソースコードコンパイラーを使ってくれます。やや時間がかかるのですが、よほど大きなプロジェクトでもなければ、気になるほどの差はないでしょう。
Finderで、BridgePointのアイコンを右クリックして、ポップアップメニューから「パッケージの内容を表示」を選び、アプリケーションの內部フォルダを表示します。
Contentes>Eclipse>tools>mc>bin
を開きます。
mcmc
を削除、または名前を変更します。
動作を確認する
導入作業が済んだら、既存のプロジェクトやWelcomeにあるサンプルなどで動作を確認しましょう。