CentOS5.2用のImageMagickのRPMを作る
id:sotarkの話をみて、RPMつくればいいじゃないとおもいつつ、自分もCentOSにImageMagickいれる必要があったのでそのあたりのメモを残しておきます。
基本的にはid:elfさんのこことか(いまぐぐった)参考になるとおもいます。
ユーザはcocoitiというユーザです。
まずは~/.rpmmacrosを作成
中身
%_topdir /home/cocoiti/rpm
作業ディレクトリの作成(elfさんところまるぱくり)
mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
で、ここまで書いてrpmbuildとかgccが入ってないことに気がついてあわててインストールする
sudo yum install rpm-build gcc gcc-c++
ImageMagickのSRPMは、id:sotarokがダウンロードしたところの上位のディレクトリにあった。
wget http://www.imagemagick.org/download/linux/SRPMS/ImageMagick-6.4.3-6.src.rpm
単純にやるならこんなかんじ
rpmbuild --rebuild ImageMagick-6.4.3-6.src.rpm
やったらこういうエラー
warning: user cristy does not exist - using root warning: group cristy does not exist - using root warning: user cristy does not exist - using root warning: group cristy does not exist - using root error: Failed build dependencies: bzip2-devel is needed by ImageMagick-6.4.3-6.i386 freetype-devel is needed by ImageMagick-6.4.3-6.i386 libjpeg-devel is needed by ImageMagick-6.4.3-6.i386 libpng-devel is needed by ImageMagick-6.4.3-6.i386 libtiff-devel is needed by ImageMagick-6.4.3-6.i386 zlib-devel is needed by ImageMagick-6.4.3-6.i386 freetype-devel >= 2.0.1 is needed by ImageMagick-6.4.3-6.i386
上のwarningは放置して、必要なパッケージはインストールする必要があるのでインストール
sudo yum install bzip2-devel freetype-devel libpng-devel libtiff-devel freetype-devel libjpeg-devel
もう一度--rebuildコンパイルしたらたぶんできそうだけどリリース番号の前にcocoとつけたかったので、展開して少々specファイルを修正。
rpm -i ImageMagick-6.4.3-6.src.rpm vi ~/rpm/SPECS/ImageMagick.spec ------------------------------ Release: 6をRelease: coco6に修正。 ------------------------------
そしてbuild
rpmbuild -ba ~/rpm/SPECS/ImageMagick.spec
なんとなくできる感じです。
ls ~/rpm/RPMS/i386/ ImageMagick-6.4.3-coco6.i386.rpm ImageMagick-c++-6.4.3-coco6.i386.rpm ImageMagick-c++-devel-6.4.3-coco6.i386.rpm ImageMagick-devel-6.4.3-coco6.i386.rpm ImageMagick-perl-6.4.3-coco6.i386.rpm
あとは、適当にインストールして動作確認
convert -version Version: ImageMagick 6.4.3 2008-09-02 Q16 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC
GPGの署名とかいろいろあるけどとりあえず、こんな感じで。
本職じゃないのでへんなことしてるかもしれません。ではでは