71

[编辑]当我注意到我的一个问题是对 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

我在网上阅读,但我不知道这里发生了什么,我发现 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

我能做些什么来解决我的问题?

4

13 回答 13

172

在 10.8 上,我通过以下方式解决了这个问题:

brew install libtool --universal
brew link libtool

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

于 2012-07-26T01:21:57.247 回答
66
brew uninstall imagemagick
brew install imagemagick --build-from-source

为我工作

于 2012-12-01T08:58:40.813 回答
30

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

brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew install imagemagick --build-from-source

为什么--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
于 2014-03-05T09:30:12.443 回答
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
于 2011-09-17T21:21:10.143 回答
18

在山狮 OSX 上,

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

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

brew uninstall libtool
brew install libtool --universal
brew link libtool --force
于 2013-03-23T11:13:14.417 回答
8

对于其他寻找但仍有问题的人,我使用了这个:

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

于 2012-03-19T01:44:38.810 回答
7

在 10.8 上,我使用 brew 解决了这个问题:

brew install graphicsmagick

对于 googlers:如果您碰巧事先使用 brew 安装了它,则需要在再次安装之前通过运行重新 brew uninstall graphicsmagick安装。简单的。

于 2012-07-30T15:56:57.850 回答
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
于 2014-05-20T09:21:46.563 回答
4

OSX Mountain Lion(预览版 4)可能会出现同样的问题。我不得不单独配置一些部分,因为有一些库不兼容:

dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib
  Referenced from: /usr/local/bin/convert
  Reason: Incompatible library version: convert requires version 13.0.0 or later, but libjpeg.8.dylib provides version 9.0.0

我必须添加--with-fontconfig=no,--with-lzma=no并使用/opt/local/share/...而不是/usr/local/share/...ghostscript 字体:

cd /tmp
curl -OL ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.7.8-0/
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-fontconfig=no --with-gs-font-dir=/opt/local/share/ghostscript/fonts --with-lzma=no
make
sudo make install
于 2012-07-02T14:54:00.333 回答
4

我可以通过从cactuslab 站点安装相应的软件包来解决 ImageMagick 问题。

然后通过PATH在终端中设置变量:

export MAGICK_HOME="/usr/local/ImageMagick/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"
于 2012-10-17T14:31:30.577 回答
3

如果您使用的是Homebrew,请尝试以下命令:

brew doctor

诊断常见问题。

其中之一可能是从您的 ~/.profile 中删除 DYLD_FALLBACK_LIBRARY_PATH 变量(如果有)。

或者您必须通过以下方式重新安装 libtool:

brew reinstall libtool --universal && brew unlink libtool && brew link libtool
于 2013-07-20T10:26:22.213 回答
1

我尝试了上面的大多数解决方案,但它们都不起作用。这是我解决问题的方法:

brew install imagemagick;
brew install freetype;
cd /usr/X11/lib/;    
sudo mv libfreetype.6.dylib libfreetype.6.dylib.orig;
sudo ln -s /usr/local/opt/freetype/lib/libfreetype.6.dylib libfreetype.6.dylib

在 OS X 10.7.2 上测试

于 2012-10-08T12:25:35.640 回答
1

对于 10.7.8 及更高版本,您必须安装 php 版本而不是 pecl 版本。根据您使用 Macports 安装的 php 版本,您可以执行以下操作:

sudo port install php-imagick

sudo port install php5-imagick

sudo port install php53-imagick

sudo port install php54-imagick

记住只做你当前版本的 php.ini 之一。

于 2013-06-21T15:05:25.667 回答