【问题标题】:Using paperclip with imagemagick on macosx在 macosx 上使用带有 imagemagick 的回形针
【发布时间】:2012-02-22 11:24:28
【问题描述】:

我正在尝试在带有 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 应用程序时,一切正常。当我尝试在终端中使用 identify 命令时。

回形针给我这个错误:

/Var/Folders/Nj/9xt2kprd01n3ssch3rd44pmh0000gn/T/Stream20120222-92627-1l2u297.Png Is Not Recognized By The 'Identify' Command.

有什么想法吗?我正在使用 MacOsx Lion

【问题讨论】:

  • 你解决了吗?我在 MaxOsx Lion 上遇到了与 ffmpeg 类似的问题 - stackoverflow.com/questions/10107671/…
  • 你好,不,我没有,我原谅了......当我想使用它时,我启动了 Rails 服务器并且没有 phusion。
  • 这里可能有类似的问题。以前可以工作,但现在:dyld: Library not loaded: /usr/local/lib/libtiff.3.dylib Referenced from: /usr/local/bin/identify Reason: image not found

标签: ruby-on-rails paperclip passenger


【解决方案1】:

在我的评论之外,我刚刚遇到了类似的问题并按如下方式解决了它(不确定这是否适合你)。

根据this homebrew/imagemagick issue,当升级其他东西时,预编译的二进制文件可能会引用错误的库版本。

因此,从源代码重新编译 Imagemagick 可能会有所帮助。对于我自己的安装,通过 Homebrew,它做到了:

> brew uninstall imagemagick
> brew install imagemagick --build-from-source

我的猜测是,在您的情况下,Apache 和/或Passenger 可能正在调用不同版本的Imagemagick,或者作为具有不同加载路径的不同用户运行,因此找不到库。

【讨论】:

    【解决方案2】:

    我在 OS X 10.8 上遇到了同样的问题,从源代码重新安装 imagemagick 没有效果,但从源代码重新安装 libtiff 有效果。耶! :)

    brew uninstall libtiff
    brew install libtiff --build-from-source
    

    我通过使用otool -L 发现了这一点,这表明 libtiff 以某种方式指向了比我系统上安装的 libjpeg 的新版本。从源重新安装它会导致它链接到旧版本。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-05
      • 2011-04-27
      • 2011-06-21
      • 1970-01-01
      • 2011-08-31
      • 2010-12-28
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多