Macos ImageMagick和OSX狮子麻烦
[edit]我在解决开发环境的问题时,发现其中一个问题是对ImageMagick的依赖,因为它是我应用程序的重要组成部分Macos ImageMagick和OSX狮子麻烦,macos,imagemagick,homebrew,osx-lion,dyld,Macos,Imagemagick,Homebrew,Osx Lion,Dyld,[edit]我在解决开发环境的问题时,发现其中一个问题是对ImageMagick的依赖,因为它是我应用程序的重要组成部分 升级到OS X Lion(10.7)后,我不再有ImageMagick可用,然后我尝试使用MacPorts再次安装,但没有成功,然后从源代码处安装,安装不是很成功,我转换并识别了它,但它输出了错误消息,很遗憾,我再也没有了,出于某种奇怪的原因,我决定删除所有MacPort库,并开始使用自制软件,我尝试安装ImageMagick,它安装正常,但当我尝试使用它时,会抛出此错误
升级到OS X Lion(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,我显然需要将其升级到一个更新的版本,但我没有发现任何迹象表明如何或在哪里找到源代码,或者这是否应该由自制处理,以及为什么它没有
我尝试再次使用从源代码安装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
我能做些什么来解决我的问题呢?我还升级到了Lion并丢失了ImageMagick,尽管我遇到了不同的错误
我在imagemagick.org上找到了一个。虽然不太喜欢DYLD_LIBRARY_PATH环境变量,但它可以工作
好的,把它擦掉。我刚刚下载了ImageMagick源代码并重新编译:
cd/tmp
旋度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--with perl--with magick plus--with quantum depth=8--disable openmp--with gs font dir=/usr/local/share/ghostscript/font
制作
sudo制作安装
对于其他看起来仍有问题的人,我使用以下方法:
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
我必须添加--使用fontconfig=no
,--使用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
10.8我通过以下方式解决了这个问题:
brew install libtool --universal
brew link libtool
brew install graphicsmagick
如果您不知道brew是什么,请访问及其wiki。在10.8版,我使用brew解决了这个问题:
brew install libtool --universal
brew link libtool
brew install graphicsmagick
对于谷歌:如果您碰巧事先安装了brew,则需要在重新安装之前运行
brew uninstall graphicsmagick
,重新安装。简单。我尝试了上面的大多数解决方案,但都不起作用。以下是我解决问题的方法:
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上测试,我可以通过从安装相应的软件包来修复ImageMagick问题 然后通过在终端中设置
路径
变量:
export MAGICK_HOME="/usr/local/ImageMagick/"
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"
在山狮OSX上为我工作
即使更新了brew for imagemagick(包括libtool),这个错误似乎也发生在我身上
因此,我使用以下命令修复了它
brew uninstall libtool
brew install libtool --universal
brew link libtool --force
对于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中的一个。如果正在使用,请尝试以下命令:
brew doctor
诊断常见问题
其中之一可能是从~/.profile中删除DYLD\u FALLBACK\u LIBRARY\u PATH变量(如果有的话)
或者您必须通过以下方式重新安装libtool:
brew reinstall libtool --universal && brew unlink libtool && brew link libtool
我也使用自制软件安装软件包,但imagemagick在将OSX 10.8升级到10.9(Mavericks)后停止工作。我必须执行以下步骤:
brew uninstall imagemagick
brew uninstall libtool
brew install libtool --universal
brew install imagemagick --build-from-source
为什么要从源代码构建?对我来说,单独运行brew安装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
这在从time machine恢复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
也不要忘记安装。您可以在没有链接的情况下为我工作。@user192411,因为ImageMagick需要编译libtool。只需brew安装libtool
就可以了。。。后来为什么要调用--universal
和manuallink
呢?这对我来说很有效,尽管我不得不做一个brew link libtool--force
,因为它在抱怨只安装桶<代码>brew医生
还对libtool发牢骚。这是怎么回事?也许我们应该开始比较brew安装的libsHere的错误消息,顺便说一下:。希望此修复对其他人有效!我在一个新安装的Mountain lion上尝试了这个方法,但在配置阶段失败了configure:error:libltdl是模块构建所必需的
。我对从源代码编译和安装二进制文件比较陌生,您能提供一个建议的最佳方法来安装所需的libltdl
库吗?我最初在安装雪豹时使用了@rroche提到的方法。在Lion升级之后,我能够使用上面的代码,因为我已经安装了所有库依赖项。以上代码在新安装上无法使用。@23inhouse提到的命令行工具在我看来是从Xcode安装的,它似乎安装了一个相对较新版本的ImageMagick。这在自制软件中没有像linkingviabrew link
那样好用。手动链接可能/可能/可能需要在以后完成才能完全访问这不是必需的,只需执行brew安装libtool
(因为预编译的imagemagick没有下载此依赖项)这对我也很有效,谢谢。甚至brew安装libtool也无法工作。保存了我的octave版本。我还必须执行brew取消libtool链接和&brew链接libtool
,brew卸载imagemagick
,brew安装imagemagick--build