読者です 読者をやめる 読者になる 読者になる

わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

homebrewを使ってphpをインストールしたときに『libpng15.15.dylibが読み込めません』うんぬん言われてうっとおしくなった

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のことを知らなすぎるなぁ。