GW中に気づいてたことなんだけど、記事にしてなかった。
homebrewで入れたphpenvを使ってインストールしたphpのバージョンを確認しようとしただけで以下のエラーをはくようになった。
$ php -v dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib Referenced from: /Users/kimikimi714/.phpenv/versions/5.5.9/bin/php Reason: image not found Trace/BPT trap: 5
ちょっと調べてみた。
$ sudo find / -name 'libpng15.15.dylib' find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory /opt/X11/lib/libpng15.15.dylib
どうやらlibpng15.15.dylib
は/usr
下にはなく、/opt/X11/lib/
下にある。
じゃあ/usr/local
下はどうなってるのか調べてみたところ
$ ls -la /usr/local/lib/ | grep libpng16 lrwxr-xr-x 1 kimikimi714 admin 45 4 20 13:21 libpng16.16.dylib -> ../Cellar/libpng/1.6.10/lib/libpng16.16.dylib lrwxr-xr-x 1 kimikimi714 admin 38 4 20 13:21 libpng16.a -> ../Cellar/libpng/1.6.10/lib/libpng16.a lrwxr-xr-x 1 kimikimi714 admin 42 4 20 13:21 libpng16.dylib -> ../Cellar/libpng/1.6.10/lib/libpng16.dylib $ ls -la /usr/local/lib/ | grep libpng15
/usr/local/Cellar/
下にlibpng16.16.dylib
があるので、homebrewのアップデートによって16になり、homebrewのアップデート前にインストールしたphpが追従できてないということらしい。
実際本体にプリインストールされていたphpに切り替えると普通に起動した。
えぇー、これのために毎回phpをインストールし直さないといけないとかめっちゃだるいんだが。。。
誰か解決してないかなと思ってちょっとググったら
osx mavericks - dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib with anything php related - Stack Overflow
を見つけた。再インストールしとったわ。。。
もう考えるの面倒くさいし、どうせphpenvのインストールがhomebrewでやりにくくなったので、使うのもやめちゃう。そんなにこだわりない。
もうちょっと調べてみたら
matplotlib/PIP/Homebrew Problems - galvanist
のような記事も見つけた。これはpythonでなんかしようとしたときに同じく『libpng15.15.dylibが読み込めません』っていうメッセージが出て対応したものっぽい。homebrewのことを知らなすぎるなぁ。