CentOS 5.8 で ImageMagick を更新する

CentOS 5 に入っている ImageMagic が古いので、rails系のアプリを入れようとかすると、古いと怒られる場合もあるかと思う。となると、ソースから入れることになると思うけど、個人的にはパッケージ管理されない状態で入れるのは好きではない。というわけで、ソースパッケージを持ってきてパッケージをビルドしてインストールすることにする。一応、ImageMagickで配布されているパッケージを試してもたものの、普通に依存関係で怒られてインストールできなかった。
まずは、ソースパッケージを取得してビルドする。

# wget http://www.imagemagick.org/download/linux/SRPMS/ImageMagick-6.7.7-6.src.rpm
# rpmbuild --rebuild ImageMagick-6.7.7-6.src.rpm 

依存系のエラーが出てビルドできない。とりあえず、そこで表示されるパッケージをコピペしてインストール。

# yum install freetype-devel libpng-devel giflib-devel perl-devel djvulibre-devel
libwmf-devel jasper-devel libtool-ltdl-devel libxml2-devel librsvg2-devel OpenEXR-devel

存在しないものもあるので、別途取得する。
djvulibre-develはrpmforgeから取得する。

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# yum --enablerepo=rpmforge install djvulibre-devel

あとは、perl-develも存在しないので、見つからないのでspecファイルから消してしまう。

# cd /usr/src/redhat/SPECS/
# vi ImageMagick.spec
BuildRequires:  libtiff-devel, giflib-devel, zlib-devel

ここまでくればビルドできるはず。
でも、libtoolの問題か、エラーになるので、LDFLAGSをつけて実行しておく。

# LDFLAGS=-L/usr/lib64 rpmbuild -bb ImageMagick.spec

あとは、成果物をインストール。

# cd ../RPMS/x86_64/
# rpm -ivh ImageMagick-6.7.7-6.x86_64.rpm

CentOS 5 で PHP をアップグレードする

CentOS 5 で標準の PHP は 5.1 系だけど、動かないアプリとかあるので入れ替えたくなる。ぐぐると、一昔前までは自分でビルドするか、テスト用のリポジトリを追加したりとかで、対応する方法が引っかかる。私もこれらのトラップに引っかかり、最新の事情にたどり着くまでに無駄な時間を使ってしまった。つまりのところは、CentOS 5.6以降ではphp53パッケージを使えば良いということ。というわけで、

# yum remove php*
# yum install php53

というような感じにすれば良い。

XOOMのイメージ交換

AndroidタブレットのXOOMだが、日本版だとau次第なためか、アップグレードが遅いので、英語版のイメージの更新して、Android 4 とかを使う方法をメモとしておく。
各種イメージは http://developer.motorola.com/products/software/ から入手する。手順もそこに書いてあるけど、イメージを入れ替えるためにはアンロックする必要がある。アンロックは

  1. XOOM を fastboot で起動
    adb reboot bootloader
  2. XOOM を unlock する
    fastboot oem unlock
  3. ボリューム上で項目変更し、ボリューム下で確定します(2回)

一度、アンロックしておけば

  1. 再起動して、再度 XOOM を fastboot で 起動
    adb reboot bootloader
  2. fastbootで起動したら
    fastboot flash boot boot.img
    fastboot flash system system.img
    fastboot flash recovery recovery.img
    fastboot flash userdata userdata.img
    fastboot erase cache
    (userdata.imgが含まれていない場合は)
    fastboot erase userdata
    (日本語のイメージには含まれておらず、これをしなかったらブートしない…)
    fastboot reboot
  1. ロックする場合
    fastboot oem lock

別にロックしないでも普通に使えるっぽいので、イメージをもとに戻す場合もあるので、ロックしないでも良いかも。起動に失敗している場合はボリュームダウンキーを押しながら、電源ボタンを押下して再度 fastboot の状態にする。