在 CentOS 6.3 上安装最新的 ImageMagick

org*_*gie 13 installation centos rpm imagemagick

我在尝试在 CentOS 6.3 x86_64 服务器上安装最新版本的 ImageMagick 时遇到了糟糕的情况。首先,我[下载]从 ImageMagick 站点 1 RPM 并尝试安装它。由于缺少依赖项而失败:

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
Run Code Online (Sandbox Code Playgroud)

我已经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

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

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.*
Run Code Online (Sandbox Code Playgroud)

我什至重新运行configure以明确排除 djvu,但仍然出现相同的错误。在这一点上,我正在拉我的头发。

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

eww*_*ite 12

你不应该有这些问题......我试图搜索当前版本的ImageMagick 的漂亮的罐头二进制文件。我找不到任何没有奇怪先决条件的...

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

系统信息:

[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
Run Code Online (Sandbox Code Playgroud)

开始安装:

[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
Run Code Online (Sandbox Code Playgroud)

生成了这些文件:

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
Run Code Online (Sandbox Code Playgroud)

安装软件包:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm 
Run Code Online (Sandbox Code Playgroud)

检查已安装的二进制文件:

[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
Run Code Online (Sandbox Code Playgroud)

查看新安装的包版本号:

[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    
Run Code Online (Sandbox Code Playgroud)

享受!!

  • 你为什么要找我?这真的很尴尬。 (10认同)
  • @MDMarra:你要结婚了。感谢任何行动。 (4认同)

小智 5

由于没有人提到“无忧无虑”的替代方案,我将添加一个新答案。

如果您不介意使用非官方存储库,您可以按照http://blog.famillecollet.com/pages/Config-en 中的描述启用 Remi 存储库。之后,只需键入

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

您将获得可用的最新版本之一,该版本已经打​​包,并且每个依赖项都由 yum 正确解析和处理。无需重新编译任何东西。

注意:与您在官网上找到的版本并不完全最新,但似乎不会落后1-2个月。例如,在撰写本文时,最新的正式版本是 6.8.8(2014 年 1 月 12 日),而我在 remi 存储库中找到的版本是 6.8.7(2013 年 12 月 15 日)。