我正在尝试使用带有phusion乘客的macosx上的回形针。当我尝试上传时,apache会给我:
dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib
Referenced from: /usr/local/lib/libtiff.3.dylib
Reason: Incompatible library version: libtiff.3.dylib requires version 13.0.0 or later, but libjpeg.8.dylib provides version 12.0.0
但是当我用 rails服务器运行我的rails应用程序时,一切正常。当我尝试在终端中使用识别命令时。
Paperclip给我这个错误:
/Var/Folders/Nj/9xt2kprd01n3ssch3rd44pmh0000gn/T/Stream20120222-92627-1l2u297.Png Is Not Recognized By The 'Identify' Command.
有什么想法吗?我正在使用MacOsx Lion
答案 0 :(得分:2)
继我的评论之后,我遇到了类似的问题并解决了以下问题(不确定这是否适合您)。
根据this homebrew/imagemagick issue,预编译的二进制文件可能会在升级其他内容时引用错误的库版本。
因此,从源代码重新编译Imagemagick可能会有所帮助。对于我自己的安装,通过Homebrew,这样做了:
> brew uninstall imagemagick
> brew install imagemagick --build-from-source
我的猜测是,在你的情况下,Apache和/或Passenger可能会调用不同版本的Imagemagick,或者作为具有不同加载路径的不同用户运行,因此找不到库。
答案 1 :(得分:1)
我在OS X 10.8上遇到了同样的问题,从源代码重新安装imagemagick
没有任何效果,但是从源代码重新安装libtiff
。好极了! :)
brew uninstall libtiff
brew install libtiff --build-from-source
我通过使用otool -L
发现了这一点,这表明libtiff在某种程度上指向了比我系统上安装的更新版本的libjpeg。从源代码重新安装它会导致它与旧版本链接。