ImageMagick和OS X Lion麻烦


71

[edit]当我注意到我的问题之一是对ImageMagick的依赖时,我正在对开发环境中的问题进行故障排除,因为这是我应用程序的重要组成部分。


升级到OS X Lion(10.7)之后,我不再有ImageMagick可用,然后我尝试再次使用MacPorts进行安装,但没有成功,然后从源代码进行安装,但安装不是很成功,我已经转换并确定了错误,但输出错误消息不幸的是我再也没有了,由于某种奇怪的原因,我决定删除我的所有MacPort库并开始使用Homebrew,我尝试安装ImageMagick,它会安装OK,但是当我尝试使用它时,会引发此错误

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

我该怎么解决我的问题?


这显然不是太笼统。这是关于缺少的库:/opt/local/lib/libltdl.7.dylib。它不应该被关闭。
superluminary 2013年

1
如果您升级了XCode,请确保按照此处推荐的方式重新安装命令行工具:stackoverflow.com/a/6784216/102401。另外,我同意应重新开放。我正在尝试解决一个特定的编程问题,其中脚本开始报告ImageMagick的问题,这是搜索时出现的第一件事。以下所有答案均无济于事,但由于问题已解决,我无法执行任何操作。
艾伦·史密斯

同意,我可以将问题改写为编程问题,看看它是否重新打开
rroche 2013年

Answers:


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

1
Howdy我在全新的Mountain Lion安装上尝试了此操作,但在配置阶段失败了configure: error: libltdl is required for modules build。对于从源代码编译和安装二进制文件,我还比较陌生,能否提供建议的最佳方法来安装所需的libltdl库?
Rider_X 2012年

3
我最初在雪豹安装中使用了@rroche提到的安装脚本。Lion升级后,我可以使用上面的代码,因为我已经安装了所有库依赖项。上面的代码不适用于全新安装。
firien 2012年

@ 23inhouse提到的脚本似乎适用于山狮
firien 2012年

我最终从Xcode安装了命令行工具,该工具似乎安装了相对较新的ImageMagick版本。
Rider_X 2012年

172

在10.8版中,我通过以下方法解决了此问题:

brew install libtool --universal
brew link libtool

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


10
不要忘记也安装xquartz.macosforge.org/landing。而且您走的很好

在没有链接的情况下为我工作。
Simon Perepelitsa

@ user192411,因为ImageMagick需要编译libtool。
2013年

2
brew install libtool出现的作品一样好......为什么--universal和手动link调用之后?
lhunath

5
这对我brew link libtool --force有用,尽管我不得不做一个,因为它对纯Keg的安装很讨厌。 brew doctor也对libtool感到厌恶。那是什么意思
提请

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

为我工作


这不是必须要做的brew install libtool(因为预编译的imagemagick错过了下载此依赖项的时间)
bernstein

3
这也对我有用,谢谢。即使brew install libtool也无法正常工作。
SJP

保存了我的八度音阶。我也不得不这样做brew unlink libtool && brew link libtoolbrew uninstall imagemagick冲泡安装ImageMagick的--build-从源, then 酿造链接--overwrite imagemagick`
阿兰·汤普森

重新安装libtool并没有帮助我,但是这样做有效。
Meekohi 2014年

在Mavericks(10.9.3)上为我工作。
Jonik

30

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

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
尽管安装了libpng,但PNG却出现此错误。只需执行--build-from-source即可修复它。:)
fregas 2014年

1
我认为您所需要的只是重新链接软件包。看到这个建议的建议:apple.stackexchange.com/questions/123900/…–
Pedro

天哪,你刚刚解决了我那么多头痛!目前,这是正确的答案。
typeoneerror 2014年

18

在Mountain Lion OSX上,

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

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

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

通用给出了一个二进制文件,该文件可用于32位和64位体系结构。我认为这是Imagemagick工作所必需的。
arun15thmay13年


7

在10.8版上,我用brew来解决此问题:

brew install graphicsmagick

对于Google员工:如果您碰巧事先在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

以及El Capitan(10.11)。我还需要chown -R myusername几个文件夹(/usr/local/bin/usr/local/share/usr/local/etc),并更换到最后一行brew unlink pillow && brew link pillow。万分感谢!
michele b 2015年

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


3

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

brew doctor

诊断常见问题。

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

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

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

1
谢谢dude brew医生的回答,实际上我还有其他图书馆正在链接。
marman

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上测试


也许我们应该开始比较我们安装的
brews

这是我得到的错误消息:syskall.com/trouble-installing-imagemagick-on-os-x-1072。希望此修复程序对其他人有用!
Olivier Lalonde

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之一。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.