ImageMagick和OS X Lion麻烦

时间:2011-09-14 06:36:36

标签: macos imagemagick homebrew osx-lion dyld

[edit] 当我发现我的一个问题是对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,我显然需要将其升级到更新的版本,但我还没有找到任何指示如何或在哪里找到来源,或者如果这应该已经由自制软件处理,为什么它没有。

我尝试使用this installer script https://github.com/masterkain/ImageMagick-sl从源代码再次安装ImageMagick,但是当我尝试使用转换时,它会引发类似的错误。

$ 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

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

13 个答案:

答案 0 :(得分:172)

10.8我用以下方法解决了这个问题:

brew install libtool --universal
brew link libtool

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

答案 1 :(得分:66)

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

为我工作

答案 2 :(得分:30)

我也使用自制软件来安装软件包,但是在将OSX 10.8升级到10.9(Mavericks)之后,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

答案 3 :(得分:27)

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

我在imagemagick.org上找到了Lion distribution。不是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

答案 4 :(得分:18)

在Mountain Lion OSX上,

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

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

brew uninstall libtool
brew install libtool --universal
brew link libtool --force

答案 5 :(得分:8)

对于其他看上去仍然遇到麻烦的人,我用过这个:

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

答案 6 :(得分:7)

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

brew install graphicsmagick

对于googlers:如果您事先安装了brew,则需要在重新安装之前运行brew uninstall graphicsmagick重新安装。容易。

答案 7 :(得分: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

答案 8 :(得分: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

我必须为ghostscript字体添加--with-fontconfig=no--with-lzma=no并使用/opt/local/share/...代替/usr/local/share/...

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

答案 9 :(得分:4)

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

然后在终端设置PATH变量:

export MAGICK_HOME="/usr/local/ImageMagick/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"

答案 10 :(得分:3)

如果您正在使用Homebrew,请尝试以下命令:

brew doctor

诊断常见问题。

其中一个可能是从你的〜/ .profile中删除DYLD_FALLBACK_LIBRARY_PATH变量。

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

brew reinstall libtool --universal && brew unlink libtool && brew link libtool

答案 11 :(得分: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上测试

答案 12 :(得分: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。