来学期のことを考え始めていて、 そう言えば有限要素法関係の講義を春学期に移したのだった、 FreeFem++ はどうだったっけ??
昨年暮れにFreeFem++ 4.12 というのがリリースされたのだが、 **なんと** Windows と Linux 向けのみで、 Mac 向けのバイナリーが提供されていなかった。 何か困難があったらしいのだけど (詳しいことを解読する余裕がない…)、 Mac の優先順位が以前と比べて下がっているのはちょっと不安を感じる。
久しぶりにサイトを見に行ったら、2月8日づけで FreeFEM-4.12-Apple-M1.dmg というのがリリースされていた。 待望の Mac 版、ただし今度は M1 Mac 向けのみか。 痛し痒し。
とりあえず試してみる。 まず M1 Max, macOS Monterey というMacにインストール。 FreeFEM-4.12-Apple-M1.dmg をダブル・クリックしてマウントしてから、 ターミナルで
cd /Volumes/FreeFEM-4.12-Apple-M1 bash ./Install-app.sh(パスワードを尋ねてくるので答える) |
これで /Applications に FreeFem++.app がインストールされる。
PATH の設定はどうなっているのかな?… .zprofile に
export PATH=/Applications/FreeFem++.app/Contents/ff-4.12/bin:"$PATH" |
以下は後で。
後。まずは (3) plotPDF() が動くかどうか。 「FreeFem++ に藤原(PDF)パッチ当てて使う, plotPDF() (MacPorts を導入している Mac で make した記録)」 に書いたように、plotPDF() のサンプルを動かしてみた。
plotPDF() の動作チェック (藤原パッチのサンプル・プログラムを試す) |
curl -O http://www-an.acs.i.kyoto-u.ac.jp/~fujiwara/ff++-programs/plotPDF-sample.edp FreeFem++ plotPDF-sample.edp |
次に (2) M1 Mac, macOS Ventura へのインストール (なお M1 Ultra, macOS Ventura でも大体同じようになった)。 予告されていたように悪名高き(?) Gatekeeper に引っかかる。 具体的には
"FreeFem++.app"は壊れているため開けません。ゴミ箱に入れる必要があります。 |
FreeFEM-4.12-Apple-M1.dmg をマウントしたディレクトリィに、 README.md と言うファイルがあり、説明がある。
(これは多分無駄) まず「壊れている」ということで次が目に入る。
if you have message the FreeFem++.app is corrupted then do in terminal > sudo xattr -rc /Applications/FreeFem++.app and retry. |
README.md には、 ”Safely open apps on your Mac” あるいはそのフランス語版を見るように書いてあるが、日本人向けは 「Mac で App を安全に開く」 ということになるだろうか。 (率直に言って分かりにくい。一瞬英語のせいかと思ったけれど、 日本語で読んでも分かりにくい。説明が下手なのか、 仕組みの出来が悪いのか、それとも複雑になるのは仕方がないのか。)
そのWWWページの最後の方にある 「ノータリゼーションを受けていない App や未確認の開発元の App を開きたい場合」 に書いてあることを実行した…ことになるのかな?
"FreeFem++.app"は壊れているため開けません。ゴミ箱に入れる必要があります。 |
この場合、動作チェックはマニュアルで行うことになるみたい。
動作チェック (配布されている example を実行してみる) |
/Applications/FreeFem++.app/Contents/ff-4.12/bin/FreeFem++ \ /Applications/FreeFem++.app/Contents/ff-4.12/share/FreeFEM/4.12/examples/tutorial/Laplace.edp |
(以前の FreeFem++ のように、スクリプトではなくて、 パッケージにすればいいのじゃないかなあ、とか考えている私でした。)
(2023/4/1追記) ついに Intel Mac 向けの FreeFem++ がやってきた! FreeFEM-4.12-Apple-Intel.dmg がサポートしている macOS は何なのかな。 それはそのうちレポートしよう。 (2023/4/29追記) Mojave (macOS 10.14.6) を載せた Intel Mac で FreeFEM-4.12-Apple-Intel.dmg のインストール&実行に成功した。
(2023/4/3追記) ころびまくりインストールの記録。 古いものは事前に削除しておいた方が良いかも (実際、あるMacでそれが必要なようだった)。
sudo rm -rf /Applications/FreeFem++.app |
sudo rm -rf /usr/local/bin/FreeFem++* sudo rm -rf /usr/local/bin/{ffglut,ff-mpirun,bamg,cvmsh2,ffmedit,ffmaster,ff-c++,ff-pkg-download,ff-get-dep} |
FreeFEM-4.12-Apple-Intel.dmg をダブルクリックする。 (シェルに tcsh を使っていると、なぜかエラーになった。 一時的にでも chsh でシェルを /bin/zsh にしておく。) 次の操作は README.txt に書いてあるものである。
zsh cd Volumes/FreeFEM.xx-Apple-intel bash ./Install-app.sh(なんか不思議な操作だ。 普段から zsh を使っていれば、最初のは不要のようだ。 FreeFem++ の開発者は、 このように zsh を起動していれば、chsh は不要かと思ったのかもしれないが、 それはエラーになった。) |
macOS Monterey の場合、これでサンプル・プログラムの実行まで進み、 インストール・スクリプトは正常に終了した。
macOS Ventura の場合は、色々ブレーキがかかった。以下激しく紆余曲折する。
動作チェック (配布されている example を実行してみる) |
/Applications/FreeFem++.app/Contents/ff-4.12/bin/FreeFem++ \ /Applications/FreeFem++.app/Contents/ff-4.12/share/FreeFEM/4.12/examples/tutorial/Laplace.edp |
/Applications/FreeFem++.app/Contents/ff-4.12/bin を PATH に入れておくこと。
export PATH=/Applications/FreeFem++.app/Contents/ff-4.12/bin:"$PATH" |
授業中にインストール大会をすることになりそうだが、 楽しい(もちろん反語である)ことになりそうだ。やれやれ。
(2023/4/29追記) 現在の情勢
桂田 祐史