ImageMagick和OS X Lion的麻烦

当我注意到我的问题之一是ImageMagick的依赖,因为它是我的应用程序的重要组成部分,我解决了我的开发环境的问题。


升级到OS X的狮子(10.7)我不再有ImageMagick可用,然后我尝试再次使用MacPorts安装没有成功,然后我从源安装,并安装不是很成功,我已转换和识别,但它输出错误消息我不幸没有了,我由一些奇怪的原因决定删除我所有的MacPort库,并开始使用自制软件,我试图安装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,而且我显然需要升级到一个较新的版本,但我还没有find任何指示如何或在哪里可以find源,或者如果这应该已经由自制软件来处理,为什么它没有。

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

 $ 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 

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

我也升级到狮子和丢失ImageMagick,虽然我得到不同的错误。

我在imagemagick.org上发现了一个Lion发行版 。 不是DYLD_LIBRARY_PATH环境variables的大粉丝,但它的工作原理。

好的从头开始 我刚刚下载了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 

在10.8我解决了这个问题:

 brew install libtool --universal brew link libtool 

如果你不知道什么是酿造,请访问https://github.com/mxcl/homebrew及其维基。;

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

为我工作

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

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

为什么--build-from-source ? 那么对我来说,运行brew install imagemagick自己brew install imagemagick来安装预构build的二进制文件是不够的; 它修复了原来的“dyln”错误,但被replace为:

 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 

在山狮OSX上,

即使更新imagemagick(其中包括libtool)酿造,这个错误似乎发生在我身上。

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

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

对于看起来还有麻烦的人,我用这个:

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

在10.8,酿造,我解决了这个问题:

 brew install graphicsmagick 

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

这帮助我从时间机器恢复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 

OSX Mountain Lion可能会出现同样的问题(预览4)。 我必须单独configuration某些部分,因为存在一些库不兼容问题:

 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 

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

然后通过在terminal中设置PATHvariables:

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

如果您使用自制软件 ,请尝试以下命令:

 brew doctor 

来诊断常见的问题。

其中一个可能是从〜/ .profile中删除DYLD_FALLBACK_LIBRARY_PATHvariables(如果有的话)。

或者你必须重新安装libtool:

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

我尝试了上面的大部分解决scheme,他们没有工作。 以下是我如何解决我的问题:

 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 

testingOS X 10.7.2

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