ImageMagick和OS X Lion麻烦

rro*_*che 71 macos homebrew imagemagick dyld osx-lion

[编辑]当我发现我的一个问题是对ImageMagick的依赖时,我正在解决我的开发环境问题,因为它是我的应用程序的重要部分.


升级到OS X Lion(10.7)之后我不再使用ImageMagick了,然后我尝试使用MacPorts再次安装没有成功,然后我从源代码安装,安装不是很成功我转换并识别但输出错误消息我不幸没有了,我通过一些奇怪的理由决定删除我的所有MacPort库并开始使用Homebrew,我尝试安装ImageMagick,它安装好但是当我尝试使用它时抛出此错误

dyld: Library not loaded: /opt/local/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 11.0.0 or later, but libltdl.7.dylib provides version 10.0.0
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)

我在线阅读但我不清楚这里发生什么,我发现libltdl被称为libtool,我显然需要将它升级到更新的版本,但我还没有找到任何关于如何或在哪里找到源的指示,或者如果这应该已经由自制软件处理,为什么它没有.

我尝试使用此安装程序脚本https://github.com/masterkain/ImageMagick-sl从源代码再次安装ImageMagick,但是当我尝试使用convert时,它会引发类似的错误.

$ convert gnome.jpg -resize 50% gnome_.jpg
dyld: Library not loaded: /opt/local/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 11.0.0 or later, but libltdl.7.dylib provides version 10.0.0
Trace/BPT trap: 5

$ which convert
/usr/local/bin/convert
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决我的问题?

Lev*_*evB 172

在10.8我解决了这个问题:

brew install libtool --universal
brew link libtool
Run Code Online (Sandbox Code Playgroud)

如果您不知道brew是什么,请访问https://github.com/mxcl/homebrew及其wiki.

  • 不要忘记安装http://xquartz.macosforge.org/landing/.你很高兴去 (10认同)
  • 谢谢,这对我来说是山狮. (5认同)
  • 这对我有用,虽然我不得不做一个`brew链接libtool --force`,因为它只是在讨论Keg-only安装.`brew doctor`也是关于libtool的婊子.那是什么意思? (5认同)
  • 只是`brew install libtool`看起来也可以正常工作......为什么`--universal`和manual`link`之后调用? (2认同)

jes*_*bon 66

brew uninstall imagemagick
brew install imagemagick --build-from-source
Run Code Online (Sandbox Code Playgroud)

为我工作

  • 这对我也有用,谢谢.即使brew安装libtool也无法正常工作. (3认同)

aro*_*roo 30

我也使用自制软件来安装软件包,但是在将OSX 10.8升级到10.9(Mavericks)之后,imagemagick停止了工作.我必须执行以下步骤:

brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew install imagemagick --build-from-source
Run Code Online (Sandbox Code Playgroud)

为什么--build-from-source?对我来说,单独运行brew install imagemagick安装预先构建的二进制文件是不够的; 它修复了原来的"dyln"错误,但被替换为:

unable to load module `/usr/local/Cellar/imagemagick/6.8.7-7/lib/ImageMagick//modules-Q16/coders/png.la': file not found @ error/module.c/OpenModule/1277
Run Code Online (Sandbox Code Playgroud)

  • 尽管已经安装了libpng,但我在使用PNG时遇到了这个错误.只是做--build-from-source修复了它.:) (3认同)

fir*_*ien 27

我也升级到Lion并丢失了ImageMagick,虽然我遇到了不同的错误.

我在imagemagick.org上找到了Lion发行版.不是DYLD_LIBRARY_PATH环境变量的忠实粉丝,但它可以工作.

好的划伤.我刚刚下载了ImageMagick源并重新编译:

cd /tmp
curl -OL ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.7.2-7/
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

  • 我最初使用@rroche在我的雪豹安装中提到的[安装脚本](https://github.com/masterkain/ImageMagick-sl).在Lion升级之后,我能够使用上面的代码,因为我已经安装了所有库依赖项.上述代码不适用于全新安装. (3认同)

aru*_*may 18

在Mountain Lion OSX上,

即使使用了imagemagick(包括libtool)的更新brew,这个错误似乎也发生在我身上.

所以我使用以下命令修复它

brew uninstall libtool
brew install libtool --universal
brew link libtool --force
Run Code Online (Sandbox Code Playgroud)


23i*_*use 8

对于其他看起来仍然有问题的人,我使用了这个:

https://github.com/maddox/magick-installer


tim*_*ley 7

在10.8,使用brew,我用以下方法解决了这个问题:

brew install graphicsmagick
Run Code Online (Sandbox Code Playgroud)

对于googlers:如果你碰巧预先安装了brew,你需要在重新安装brew uninstall graphicsmagick之前通过运行重新 安装.简单.


小智 7

从时间机器恢复OS X 10.9.3后,这帮助了我.

brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew unlink libtool && brew link libtool
brew install imagemagick
brew install Homebrew/python/pillow
brew link --overwrite pillow
Run Code Online (Sandbox Code Playgroud)