新しいM1 iMacにmaxima-jupyterをインストールしました。とても快適に動いています。
この記事にインストール手順と注意点を書きます。
maxima-jupyterのインストール手順
- homebrewをインストール
- homebrewでjupyterlab, maximaをインストール
% brew install jupyterlab maxima
% rehash- quicklispをインストール(sbcl起動時の自動読み込みまで設定)
quicklisp.lispをダウンロード。
% curl -O https://beta.quicklisp.org/quicklisp.lisp
% sbcl
* (load "quicklisp.lisp")
* (quicklisp-quickstart:install)
* (ql:add-to-init-file)- maxima-jupyterをインストール
maxima-jupyterのgithubレポジトリをクローンし展開したディレクトリに移動
% git clone https://github.com/robert-dodier/maxima-jupyter.git
% cd maxima-jupyter
% export C_INCLUDE_PATH="/opt/homebrew/include/"
% maxima
(%i1) load("load-maxima-jupyter.lisp");
(%i2) jupyter_install();
(%i3) quit();- jupyterを起動
% jupyter lab
これでインストール完了です。
上記をはじめて実行した時には、C_INCLUDE_PATHの値の設定の行を実行しなかったために、load("load-maxima-jupyter.lisp");でエラーが出ました。
; Loading "common-lisp-jupyter"
.; clang -o /Users/XXX/.cache/common-lisp/sbcl-2.1.9-macosx-arm64/Users/XXX/quicklisp/dists/quicklisp/software/pzmq-20210531-git/grovel__grovel-tmpFHHK787Z.o -c -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -g -Wall -O2 -fdollars-in-identifiers -fno-omit-frame-pointer -fPIC -I/Users/XXX/quicklisp/dists/quicklisp/software/cffi_0.24.1/ /Users/XXX/.cache/common-lisp/sbcl-2.1.9-macosx-arm64/Users/XXX/quicklisp/dists/quicklisp/software/pzmq-20210531-git/grovel__grovel.c
/Users/XXX/.cache/common-lisp/sbcl-2.1.9-macosx-arm64/Users/XXX/quicklisp/dists/quicklisp/software/pzmq-20210531-git/grovel__grovel.c:6:10: fatal error: 'zmq.h' file not found
#include <zmq.h>
^~~~~~~
1 error generated.
これはhomebrewからインストールしたzeromqライブラリのヘッダファイルzmq.hが/opt/homebrew/includeに配置されており、quicklispから呼び出されたclangコンパイラがこのヘッダファイルを見つけられなかったことを示しています。
ヘッダの配置場所をclangに教えるために、maximaを起動する前に
% export C_INCLUDE_PATH="/opt/homebrew/include/"
を実行すればエラーは発生しなくなり、インストールを最後まで行うことができました。
このエラーはhomebrewをデフォルトのインストール場所(/opt/homebrew)にインストールした場合に発生するので、この対応が必要です。また上記のexportコマンドはコンパイル時に必要なだけで、jupyter labの実行時には不要です。