dyld: Symbol not found: __cg_jpeg_resync_to_restart
ある日,Macで
$vagrant up
しようとしたら,こんなエラーがでた.
dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Expected in: /usr/local/lib/libJPEG.dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
その他色々触ってたら,
$ open -a hogehoge
しても同じエラーがでた.
原因
libJPEG.dylib
の__cg_jpeg_resync_to_restart
っていう関数を使用したいけど無いらしい.
原因は,homebrewでlibJPEG
をインストールしちゃってたことみたい.
homebrewでインストールされるlibJPEG
は__cg_jpeg_resync_to_restart
を持たない.
本来は/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
を使わなきゃいけないっぽい.
homebrewで入った/usr/local/lib/libJPEG.dylib
を先に見つけてしまって,その結果,関数がなくてエラーみたいな感じ.
対策
$brew uninstall jpeg
これでうまくいかなかったら
ln -s /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib /usr/local/lib/libJPEG.dylib
してあげたらいいと思う