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