事の起こり
今は昔、筆者はMacでOctaveの環境構築を行うための備忘録として以下の記事を投稿しました。
当時はOctaveのMacへのインストールは少々面倒くさい方法で実施する必要が有りました。ところが、あれから4年以上経過し、随分様子が変わっている様なので再度記事として投稿することにしました。因みにひょんなことからOctaveの以下の解説書を入手したので活用方法を勉強してOctaveを活用して行きたいと思います。(後述の通り、現状バグが有ります。)
検証環境
- macOS 14.7 Sonoma
- Octave version 9.2.0
Octaveのインストール
以前インストール方法を調べた時は、CLI版とGUI版をHomebrewで別々にインストールする必要が有りましたが、現在は一緒にインストール可能です。
brew install octave
動作確認
ターミナル上でoctave
コマンドを実行すると、CLI版が起動します。
$ octave
GNU Octave, version 9.2.0
Copyright (C) 1993-2024 The Octave Project Developers.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'.
Octave was configured for "aarch64-apple-darwin23.4.0".
Home page: https://octave.org
Support resources: https://octave.org/support
Improve Octave: https://octave.org/get-involved
For changes from previous versions, type 'news'.
octave:1>
上述の旧記事同様サンプルを動かしてみます。
octave:1> x=-2*pi:0.1:2*pi;
octave:2> y=sin(x);
octave:3> plot(x, y);
octave:4> FALLBACK (log once): Fallback to SW vertex for line stipple
FALLBACK (log once): Fallback to SW vertex processing, m_disable_code: 2000
FALLBACK (log once): Fallback to SW vertex processing in drawCore, m_disable_code: 2000
サインカーブが描画されました。
しかし、よく見ると。。。エラーが。。。
octave:4> FALLBACK (log once): Fallback to SW vertex for line stipple
FALLBACK (log once): Fallback to SW vertex processing, m_disable_code: 2000
FALLBACK (log once): Fallback to SW vertex processing in drawCore, m_disable_code: 2000
このエラーはどうやら原因として、Apple SiliconのMacとなり、Octaveの作図機能内で利用されているOpenGLが非推奨となり、代わりにMetalを利用すべきところを修正が進んでいないようです。一応コミュニティの公式ページでバグ報告をしましたが、解決はいつになるか分かりません。。。(既に同様のバグ報告がなされ、解決済ステータスになっていましたが、現状は。。。) 今後解決されることを祈りましょう。Metalを勉強して修正コードをコミットすることが最短での解決に繋がるのかもしれませんが、中の実装について全く分かっていないので、道は遠大な予感もしています。。。
Reference