在CentOS 6.3上安装最新的ImageMagick

我正在尝试在CentOS 6.3 x86_64服务器上安装最新版本的ImageMagick。 首先,我从ImageMagick网站下载了RPM,并尝试安装它。 由于缺less依赖关系,失败了:

error: Failed dependencies: libHalf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64 libIex.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64 libIlmImf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64 libImath.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64 libltdl.so.3()(64bit) is needed by ImageMagick-6.8.0-4.x86_64 

我安装了libtool-ltdl ,但是包含libltdl.so.7 ,而不是libltdl.so.4 。 我有一个与libHalflibIexlibIlmImflibImath类似的问题。 通常,您可以安装OpenEXR来获取这些依赖关系。 不幸的是,CentOS 6.3包含OpenEXR 1.6.1,其中包括ilmbase-devel 1.0.1。 而ilmbase-devel的这个版本包含了这些依赖关系的更新版本:

  • libHalf.so.6
  • libIex.so.6
  • libIlmImf.so.6
  • libImath.so.6

我接下来尝试按照从源代码安装ImageMagick的说明 。 那里也没有运气。 我得到一个构build错误:

 RPM build errors: File not found by glob: /home/sean/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64/usr/lib64/ImageMagick-6.8.0/modules-Q16/coders/djvu.* 

我什至重新运行configure显式排除djvu,我仍然得到相同的错误。 在这一点上,我拉着我的头发。

在CentOS 6.3上安装相对较新版本的ImageMagick(> 6.7)最简单的方法是什么? 有人提供RPM 的依赖关系吗?

你不应该有这些问题…我试图寻找一个当前版本的ImageMagick漂亮,jar装的二进制文件。 我找不到任何没有多less先决条件的东西…

所以我创build了一个CentOS 6.3虚拟机,并构build了最新的ImageMagick SRPM文件 。 您可能还想启用RepoForge存储库(以前称为RPMForge) 。 build设顺利!

系统信息:

 [root@MDMarra ~]# uname -a Linux MDMarra.localdomain 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux [root@MDMarra ~]# cat /etc/issue CentOS release 6.3 (Final) Kernel \r on an \m [root@MDMarra ~]# yum repolist repo id repo name status base CentOS-6 - Base 6346 extras CentOS-6 - Extras 6 rpmforge Red Hat Enterprise 6 - RPMforge.net - dag 4453 update CentOS-6 - Updates 820 

开始安装:

 [root@MDMarra ~]# wget http://imagemagick.mirrorcatalogs.com/linux/SRPMS/ImageMagick-6.8.0-4.src.rpm [root@MDMarra ~]# yum install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel [root@MDMarra ~]# rpmbuild --rebuild ImageMagick-6.8.0-4.src.rpm 

这些文件是生成的:

 Processing files: ImageMagick-debuginfo-6.8.0-4.x86_64 Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64 Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.8.0-4.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-6.8.0-4.x86_64.rpm 

安装软件包:

 rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm 

检查安装的二进制文件

 [root@MDMarra ~]# rpm -qlp /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm| grep bin /usr/bin/animate /usr/bin/compare /usr/bin/composite /usr/bin/conjure /usr/bin/convert /usr/bin/display /usr/bin/identify /usr/bin/import /usr/bin/mogrify /usr/bin/montage /usr/bin/stream 

检查新安装的软件包版本号:

 [root@MDMarra ~]# /usr/bin/convert -version Version: ImageMagick 6.8.0-4 2012-11-07 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC Features: OpenMP 

请享用!!

由于没有人提到“无忧”的select,我要添加一个新的答案。

如果您不介意使用非官方的软件仓库,可以按照http://blog.famillecollet.com/pages/Config-en中所述启用Remi软件仓库。 之后,只需input

yum install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64

你会得到一个可用的最新版本,已经打包好了,每一个依赖正确解决和由yum处理。 不需要重新编译任何东西。

注意:在官方网站上可以find的版本并不完全一致,但似乎不超过1-2个月。 例如,在撰写本文时,最新正式版本是6.8.8(2014年1月12日),而我在remi repo上find的版本是6.8.7(2013年12月15日)。

我有CentOS 7.2和ImageMagick 6.9.3-9的这个问题。 经过多次的试验和错误,我发现6.9.3-8有效,而6.9.3-9有依赖关系,无法解决。 幸运的是, http://rpm.pbone.net/find了旧版本的存储库。

 IMAGEMAGICK_VERSION=6.9.3-8 # Be warned, 6.9.3-9 does not work; dependencies fail to resolve IMAGEMAGICK_LIBS_SHA1=c0919e4ef4b7edc1052ef40eef4cc34f7a86341c IMAGEMAGICK_SHA1=f99eda483850dd116b08e5527d603be2a47db8c4 curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \ && sha1sum ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_LIBS_SHA1 \ && yum install -y ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \ && rm ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \ && curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \ && sha1sum ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_SHA1 \ && yum install -y ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \ && rm ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm 

它看起来像你需要以下或至less一些以下内容:

 OpenEXR-devel.i686 OpenEXR-devel.x86_64 OpenEXR-libs.i686 OpenEXR-libs.x86_64 yum install OpenEXR-devel.i686 OpenEXR-libs.i686 OpenEXR-devel.x86_64 OpenEXR-libs.x86_64 

安装所有4不应该造成太多的负担或增加磁盘空间的使用,但是这些是在http://rpm.pbone.net/search'libHalf.so.4'或'例如,“libIlmImf.so.4”。

如果您还需要安装ImageMagicK的开发版本,则可以运行:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm

如果您计划运行ImagicK(PHP)绑定,则需要执行此步骤。 要安装iMagicKtypes:

pecl安装imagick