Problem installing RMagick rubygem on Centos 5

丶灬走出姿态 提交于 2019-12-02 18:18:26

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

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.

f0i

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

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

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.

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

NIck

I got around this in RHEL 5.4 by temporarily symlinking /usr/local/bin/Magick-config to /usr/bin/Magick-conf, so the gem install could find this Magick-config executable.

In my case, I installed ImageMagick from source with --prefix=/usr/local. For some reason, the gem install didn't want to look there for the config, even with gem install --local ../rmagick-2.12.2.gem -- -with-opt-dir=/usr/local/bin. Running yum install ImageMagick-devel would get the binary there, but then the gem install would say that ImageMagick was the wrong version.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!