Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problem installing RMagick rubygem on Centos 5

I'm having problems installing the RMagick rubygem on Centos 5. I've followed the steps detailed in http://rmagick.rubyforge.org/install2-linux.html but when I try:

sudo gem install rmagick

the result is:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.11.0. Can't find Magick-config in /usr/bin:/bin

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/ruby


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/rmagick-2.11.0/ext/RMagick/gem_make.out

The directory /usr/local/bin contains Magick-config but I haven't been able to get rubygems to look there. I tried the following but the result was the same:

sudo gem install rmagick -- --with-opt-dir=/usr/local/bin

Any suggestions would be appreciated.

like image 718
Keith Pitty Avatar asked Aug 10 '09 11:08

Keith Pitty


6 Answers

I've recently backported ImageMagick 6.5.4.7 from CentOS6 to CentOS5 so installing rmagick should be easier right now:

rpm -Uvh http://rbel.co/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
like image 97
rubiojr Avatar answered Nov 19 '22 06:11

rubiojr


So I've finally managed to install version 1.15.17 of the rmagick rubygem! Here's what I did:

  1. Uninstalled ImageMagick 6.5.4-9 and the delegate libraries that I had installed from source
  2. sudo yum install ImageMagick
  3. sudo yum install ImageMagick-devel
  4. curl -O http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
  5. sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm
  6. ln -s /usr/share/fonts/msttcorefonts/ /usr/share/fonts/default/TrueType
  7. sudo gem install rmagick -v 1.15.17 --no-rdoc --no-ri

Blog entries from David Bock and Will were invaluable.

like image 35
Keith Pitty Avatar answered Nov 19 '22 06:11

Keith Pitty


The answer from rubiojr worked for me, but the rbel.co is down at the moment. You can use rbel.frameos.org instead:

rpm -Uvh http://rbel.frameos.org/rbel5
yum install ImageMagick-devel ImageMagick-c++-devel
gem install rmagick
like image 25
2 revs Avatar answered Nov 19 '22 06:11

2 revs


rmagick is notoriously difficult to install due to dependencies on other packages etc. I've just been through this game on Ubuntu and the trick was simply to install the right packages, including dev packages etc. I'm not familiar with CentOS but somebody will probably chime in with the right packages for that.

If all else fails, building and installing ImageMagick from source can usually be made work.

Edit: Looking at a related question, I see the following:

On some platforms (CentOS 5.2), I have had to install specific versions of RMagick because the default repositories for my package manager (yum) only had old versions of the RMagick devel libraries. I installed this version via:

gem install rmagick -v 1.15.13
like image 3
frankodwyer Avatar answered Nov 19 '22 07:11

frankodwyer


kept getting this error after following the instructions in the most voted answer:

RMagick: unable to read font `(null)'.

so I have something to add to step 7, taken from an update to David Bock's blog:

http://blog.codesherpas.com/on_the_path/2009/09/installing-centos-5-imagemagick-and-rmagick-september-2009-edition.html

gem install rmagick -v 1.15.17 --no-rdoc --no-ri -- --disable-htmldoc

disabling html-documentation is crucial for avoiding further errors if your font files make rmagick unhappy. Just the outcome of about 2 hours of struggling with this issue.

like image 1
nichobot Avatar answered Nov 19 '22 06:11

nichobot


Centos 5.5 the ImageMagick is legacy, so install from source to can use the rmagick.

Get the source RPM

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm
rpm -ivh --nomd5 ImageMagick.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -ba ImageMagick.spec

Probably you get dependence error for:

  • perl-devel
  • jasper-devel
  • djvulibre-devel

Add to your /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for CentOS5
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/
enabled=0
gpgcheck=1

Then import the GPG key and install the djvulibre-devel

rpm --import http://ftp.riken.jp/Linux/dag/RPM-GPG-KEY.dag.txt
yum --enablerepo=dag install djvulibre-devel

Then check if you can make the RPM:

rpmbuild -ba ImageMagick.spec

If you get the perl-devel dependency error.

yum install perl

Then edit the ImageMagick.spec and replace "perl-devel" for "perl", save and rpmbuild again.

rpmbuild -ba ImageMagick.spec

So install the the other dependences:

yum install freetype
yum install gd-devel
wget http://www.osresources.com/files/centos-windows-fonts/msfonts.tbz
mkdir /usr/share/fonts/default/TrueType
tar xvjpf msfonts.tbz -C /usr/share/fonts/default/TrueType/

Let's install it:

cd /usr/src/redhat/RPMS/i386
rpm -Uvh ImageMagick-*

After all you can test if your RMagick is installed:

ruby -rrubygems -e "require 'RMagick'; puts Magick::Long_version;"

Based on:

hi.baidu.com/rainchen/blog/item/089ef7364497de320a55a9a3.html

mobile-dev.izanagi-izanami.net/blog/?p=48

like image 1
Gabriel Gartz Avatar answered Nov 19 '22 06:11

Gabriel Gartz