[Ruby]CentOS 5 で gem install rmagick のエラー

2012-2-28 09:00
このエントリーをはてなブックマークに追加

Ruby Gems を使用して RMagick をインストールしようとしてエラーではまる。

# gem install gmagick

……
rmimage.c:10120: error: ‘Image’ has no member named ‘transparent_color’
rmimage.c: In function ‘Image_unique_colors’:
rmimage.c:10329: 警告: assignment makes pointer from integer without a cast
make: *** [rmimage.o] エラー 1

エラーになる部分は環境やバージョンによって異なりますが、たいていの場合は ImageMagick のバージョンが古いために起こるようです。

CentOS 5.x の場合、ImageMagick のバージョンは 6.2.0 ですが、6.4.0 以上にすれば通ります。この場合、RPM の利用をあきらめてソースビルドするか、新しいバージョンの野良 RPM を入れるか、RPM を自作するという選択肢があります。

私の場合は Fedora 10 の新しめの ソースRPM を取得してきてビルドしました。ただしこれも依存関係で perl-devel というパッケージを要求されるので、それを SPEC ファイルから削除する方法で、無理やりビルドしました。

# wget ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/development/source/SRPMS/ImageMagick-6.4.0.10-2.fc10.src.rpm
# rpm -ivh ImageMagick-6.4.0.10-2.fc10.src.rpm
# vi /usr/src/redhat/SPECS/ImageMagick.spec
(BuildRequires から perl-devel を削除) 

また、依存関係で jasper-devel というパッケージが要求されるので、こちらは RPMforge のリポジトリから入れました。

# yum install jasper-devel --enablerepo rpmforge

次のようにビルドします。

# cd /usr/src/redhat/SPECS/
# rpmbuild -ba ImageMagick.spec

ビルドが成功したら /usr/src/redhat/RPMS/x86_64/ ディレクトリに出来上がった RPM をインストールします。

これで gem install rmagick が成功するようになりました。

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

33 queries. HTML convert time: 0.075 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン