Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm having a terrible time trying to get a recent version of ImageMagick installed on a CentOS 6.3 x86_64 server. First, I downloaded the RPM from the ImageMagick site and tried to install it. That failed due to missing dependencies:

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

I have libtool-ltdl installed, but that includes libltdl.so.7, not libltdl.so.4. I have a similar problem with libHalf, libIex, libIlmImf and libImath. Typically, you can install OpenEXR to get those dependencies. Unfortunately, CentOS 6.3 includes OpenEXR 1.6.1, which includes ilmbase-devel 1.0.1. And that release of ilmbase-devel includes newer versions of those dependencies:

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

I next tried following the instructions for installing ImageMagick from source. No luck there either. I get a build error:

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.*

I even re-ran configure to explicitly exclude djvu and I still get the same error. At this point, I'm pulling my hair out.

What's the easiest way to get a relatively recent version of ImageMagick (> 6.7) installed on CentOS 6.3? Does someone offer RPMs with dependencies somewhere?

share|improve this question
    
I had trouble with this too, not sure if I ever got it to work but you might try: 'yum install libtool-ltdl-devel' –  user16081-JoeT Nov 7 '12 at 20:59
    
In CentOS 6.3, libtool-ltdl-devel includes libltdl.so.7, but ImageMagick requires libltdl.so.3. :( –  organicveggie Nov 7 '12 at 21:21
    
I wonder if they are similar enough that you could create symlinks from .3 to .7 and fake out ImageMagick so it installs. total hack move but it might work :\ –  user16081-JoeT Nov 7 '12 at 22:49

4 Answers 4

up vote 10 down vote accepted

You shouldn't be having these problems... I tried to search for nice, canned binaries of a current version of ImageMagick. I couldn't find any that didn't have odd prerequisites...

So I spun up a CentOS 6.3 virtual machine and built the newest ImageMagick SRPM file. You may want to enable the RepoForge repository (formerly RPMForge) as well. The build went without a hitch!

System information:

[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

Begin the installation:

[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

These files were generated:

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

Install the package:

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

Check installed binaries:

[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

Check the newly-installed package version number:

[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    

Enjoy!!

share|improve this answer
    
Hrmmm. Interesting. I didn't install djvulibre-devel, libwmf-devel, jasper-devel or giflib-devel when trying to rebuild the RPM. Lemme give that a shot. –  organicveggie Nov 7 '12 at 23:38
    
The list of *-devel packages needed to build the RPM were listed in the error I received when I initially ran rpmbuild against the SRPM. I could also just upload the resulting file... But I wanted to outline the steps I took. –  ewwhite Nov 7 '12 at 23:43
    
See, I mistakenly followed the instructions that told me to rebuild the SRPM first. Somehow that step let me skip the checks for missing RPMs when running rpmbuild. Weird. Installing the missing RPMs did the trick! I was able to build the final RPMs and install them without a hitch. Testing showed the binaries worked perfectly. Thanks! –  organicveggie Nov 8 '12 at 13:16
9  
WHY ARE YOU SSHed INTO ME? This is really awkward. –  MDMarra Nov 8 '12 at 17:31
4  
@MDMarra: You're about to get married. Be thankful for any action. –  Scott Pack Nov 8 '12 at 17:32

Since nobody mentioned a "hassle-free" alternative, I'm going to add a new answer.

If you don't mind using non-official repositories, you can enable the Remi repo as described here http://blog.famillecollet.com/pages/Config-en. After that, just type

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

And you'll get one of the latest versions available, already packaged and with every dependency correctly resolved and handled by yum. No need to recompile anything.

Note: It's not exactly up to date with the version you can find on the official website, but it seems to be no more than 1-2 months behind. For example, at the time of writing the latest official version is 6.8.8 (Jan 12, 2014) while the one I found on the remi repo is 6.8.7 (Dec 15, 2013).

share|improve this answer

It looks like you'll need the following or at least some of the following:

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

Installing all 4 shouldn't cause that much of a burden or increase in disk space usage, but those are the packages being returned when I searched on http://rpm.pbone.net/ for 'libHalf.so.4' or ' libIlmImf.so.4' for example.

share|improve this answer
    
I'll update my post to clarify, but I already went down that path. CentOS 6.3 has OpenEXR 1.6.1, which includes newer versions of things like libHalf (libHalf.so.6 for example). –  organicveggie Nov 7 '12 at 21:18

If you need the development version of ImageMagicK installed as well, you can run:

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

This step will be required if you plan to run the ImagicK (PHP) bindings. To install iMagicK type:

pecl install imagick

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.