先日のImagemagickの再インストール(バージョンダウン)に関連してだと思うが、昨日まで動いていたgnuplotが動かなくなってしまった....システム全体のアップデートというのは、こういう問題を引き起こすことがあるので、できればやりたくなかったのである。
しかし、もはやどうにもならない。「文句を言う前に解決法をさがせ」である。gnuplotはImagemagickよりも必須なツールである。腰にぶら下げておくような武具ではなく、常に手に持っているタイプの武具である。
まずはエラーメッセージをみてみた。
dyld: Library not loaded: /usr/local/opt/libtiff/lib/libtiff.5.dylib Referenced from: /usr/local/opt/gd/lib/libgd.3.dylib Reason: image not found Abort trap: 6
libgd.3.dylibから呼び出そうとしたダイナミックライブラリのlibtiff.5.dylibがないという苦情である。/usr/local/opt/libtiff/libの中身を確認するとバージョンが6に上がっていて、バージョン5のものが消滅している。これはImagemagickのインストール、あるいはHomebrewのアップデートによる副作用であることはまちがいない。
仕方ないので、バージョン6がバージョン5の上位互換をもつと信じ、リンクを張るという単純な解決法を試してみることにした。
ln -s /usr/local/opt/libtiff/lib/libtiff.6.dylib /usr/local/opt/libtiff/lib/libtiff.5.dylib
gnuplotを再起動してみると、似たような、しかしちょっと違うエラーメッセージが出た。
dyld: Library not loaded: /usr/local/opt/libffi/lib/libffi.7.dylib Referenced from: /usr/local/opt/glib/lib/libgobject-2.0.0.dylib Reason: image not found Abort trap: 6
今度はlibgobject-2.0.0.dylibが呼び出そうとしたlibffi.7.dylibがない、という苦情である。さっきと同様に調べてみると、今度もバージョン7がなくなっていて、その代わりにバージョン8がある。もちろん、またリンクを張らねばならないのはわかる。しかし、この作業をいったいいつまで続ければよいのであろうか?一抹の不安が心をよぎった。
そこで一気に解決するためにはgnuplotの再インストールがよいだろう、という判断となり、
brew reinstall gnuplot
をやってみたのである。結果はなんと「お前のmojaveには最新のgnuplotはインストールできないよ」という例の悪意いっぱいのメッセージであった!しかもXcodeを最新のものにアップデートしないとgnuplotはインストールできない、とも書いてある。
しかたない、延々とライブラリのリンク張りをやるしかない....と諦めて、さっきのダイナミックライブラリのリンクを作ってみた。
ln -s /usr/local/opt/libffi/lib/libffi.8.dylib /usr/local/opt/libffi/lib/libffi.7.dylib
さて、震える指で"gnuplot"とコマンドを叩くと....運良く起動してくれた。冷や汗がどっと吹き出した瞬間であった。