複天一流:どんな手を使ってでも問題解決を図るブログ

宮本武蔵の五輪書の教えに従い、どんな手を使ってでも問題解決を図るブログです(特に、科学、数学、工学の問題についてですが)

gnuplotが動かない.....

先日のImagemagickの再インストール(バージョンダウン)に関連してだと思うが、昨日まで動いていたgnuplotが動かなくなってしまった....システム全体のアップデートというのは、こういう問題を引き起こすことがあるので、できればやりたくなかったのである。

しかし、もはやどうにもならない。「文句を言う前に解決法をさがせ」である。gnuplotImagemagickよりも必須なツールである。腰にぶら下げておくような武具ではなく、常に手に持っているタイプの武具である。

まずはエラーメッセージをみてみた。

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"とコマンドを叩くと....運良く起動してくれた。冷や汗がどっと吹き出した瞬間であった。