ある方から、Apple M1のmacでSPMを起動しようとするとspm_check_installation(‘basic’)でエラーが出て起動しないという相談を受けました。
コンパイルしたら問題は解決しました。コンパイル方法を共有します。
ただし、その後、SPMのMLでこのディスカッションに乗ってみたところ、コンパイルは不要だよということも教えていただきました。なので、コンパイルに挑戦してみたい人向けと思ってください。(普通は不要です)
1. Xcode のインストール
− App Store から Xcodeをインストールします。
– ターミナルから以下をタイプしてライセンスに同意します。
sudo xcodebuild -license
これでXcodeのライセンスが表示されますので、スペースキーを何回か押して最後まで表示した後に agree とタイプします。
2. ターミナルでのMatlabのパス設定
- 続いて、ターミナルから、MATLABのパスを設定します。Matlabのバージョンによって変わりますが、R2020b以降に正式にApple M1がサポートされていますので、R2020bをインストールするとしましょう。この際の、Matlabのパスは /Applications/MATLAB_R2020b.app/bin となります。
PATH=/Applications/MATLAB_R2020b.app/bin:$PATH
3. SPM12のコンパイル
- SPM12のsrcフォルダに移動してコンパイルを行います。今、spm12が /Users/foo/spm12 にあるとします。ご自身の環境にあわせて適宜変更してください。
cd ~/foo/spm12/src make distclean make && make install
- これは以下のことを行っています。
- spm12/src に移動します。
- 過去にコンパイルしたものがあったらそれを削除します。
- 新たにコンパイルし、インストールします。
- すべてがうまくいくと一番最後に
----- Installation : done -----
と表示されます。
これでSPMが起動できるはずです。