Qiita初投稿です!!
最近、AWSでサーバ構築していてハマったので共有します。
はじめに
Amazon Linux標準のyumリポジトリにあるImageMagickのバージョンは「6.7.8.9」で古いです。
そこで、remiリポジトリを追加してImageMagick-lastを入れようというお話です。
1. remiリポジトリを追加して実行
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install --enablerepo=remi,epel ImageMagick-last ImageMagick-last-devel ImageMagick-last-libs
* 依存パッケージ「lcms2」がepelにあるのでepelも有効にしておきます。
しかし、、、
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libHalf.so.6()(64bit)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libIlmThread.so.6()(64bit)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libIlmImf.so.6()(64bit)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libImath.so.6()(64bit)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: librsvg-2.so.2()(64bit)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libgdk_pixbuf-2.0.so.0()(64bit)
エラー: パッケージ: ImageMagick-last-devel-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: OpenEXR-devel(x86-64)
エラー: パッケージ: ImageMagick-last-libs-6.9.0.4-1.el6.remi.x86_64 (remi)
要求: libIex.so.6()(64bit)
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
まだ依存しているものがあるようです。
libHalf.so
誰だ?お前は!?と調べていくと、、、
「ilmbase」というモジュールが必要のようです。
そして、
当然Amazon Linux内のyumリポジトリにはいません。(エラー起きてるしね)
どうやらCentOSのBaseリポジトリにはいるということで追加します。
2. CentOS-Baseリポジトリを追加して実行
cat << '_EOT_' > /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
_EOT_
yum -y install --enablerepo=remi,epel,base ImageMagick-last ImageMagick-last-devel ImageMagick-last-libs
これで無事インストール完了
おわりに
ImageMagickがyumで入らないという記事を見つけると、
だいたい「ソースから入れようぜ!」というものばかり見つかる気がします。
せっかくパッケージ管理ツールを使ってるんだから、極力その恩恵を受けたいですよねー。
Redhat系OSを使ってる方の参考になればなーと思ってます。