在CentOS 6.3上安装最新的ImageMagick


13

我在尝试在CentOS 6.3 x86_64服务器上安装最新版本的ImageMagick时遇到了麻烦。首先,我从ImageMagick站点下载了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

我已经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。那里也没有运气。我收到一个构建错误:

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 吗?


我遇到了麻烦,这个也一样,不知道如果我以往任何时候都得到了工作,但你可以尝试:“百胜安装的libtool-ltdl-devel的”
user16081-JoeT

在CentOS 6.3中,libtool-ltdl-devel包括libltdl.so.7,但ImageMagick要求libltdl.so.3。:(
Organicveggie 2012年

我想知道它们是否足够相似,以至于您可以创建从.3到.7的符号链接并伪造ImageMagick以便安装。
骇客

Answers:


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

开始安装:

[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    

请享用!!


嗯 有趣。尝试重建RPM时,我没有安装djvulibre-devel,libwmf-devel,jasper-devel或giflib-devel。莱姆给了一个机会。
Organicveggie 2012年

最初rpmbuild针对SRPM 运行时收到的错误中列出了构建RPM所需的* -devel软件包列表。我也可以只上传结果文件...但是我想概述一下我采取的步骤。
ewwhite 2012年

瞧,我错误地遵循了告诉我首先重建SRPM的说明。该步骤使我以某种方式跳过了运行时缺少RPM的检查rpmbuild。奇怪的。安装缺少的RPM可以解决问题!我能够构建最终的RPM并毫不费力地安装它们。测试表明二进制文件运行良好。谢谢!
Organicveggie 2012年

10
您为什么要和我SSH?这真是尴尬。
MDMarra 2012年

4
@MDMarra:您即将结婚。多谢任何行动。
Scott Pack

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 repo上找到的最新版本是6.8.7(2013年12月15日)。


或者,您可以一次性从remi repo下载sudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8'7

1

我在CentOS 7.2和ImageMagick 6.9.3-9中遇到了这个问题。多试错后,我发现6.9.3- 8的作品,而6.9.3- 9有无法解决的依赖。幸运的是,http://rpm.pbone.net/找到了一个较旧版本的存储库。

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

0

看来您需要以下或至少其中一些:

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/上搜索“ libHalf.so.4”或“例如libIlmImf.so.4'。


我将更新我的帖子进行澄清,但是我已经走了这条路。CentOS 6.3具有OpenEXR 1.6.1,其中包括更新的版本libHalflibHalf.so.6例如)。
Organicveggie 2012年

0

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

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

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

pecl安装imagick

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.