CentOS5.6へのImageMagickのインストール
# cd # mkdir imagemagick # cd imagemagick
# wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-libs-1.900.1-7.el5.kb.i386.rpm # wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-devel-1.900.1-7.el5.kb.i386.rpm # wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-6.7.1-0.i386.rpm # wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-devel-6.7.1-0.i386.rpm # wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-c++-6.7.1-0.i386.rpm # wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/CentOS/i386/ImageMagick-c++-devel-6.7.1-0.i386.rpm # sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.conf # yum -y install fontconfig-devel libtool-ltdl-devel # yum -y install --enablerepo=rpmforge fftw3 fftw3-devel graphviz djvulibre openexr # yum -y install jasper-libs-1.900.1-7.el5.kb.i386.rpm # yum -y install jasper-devel-1.900.1-7.el5.kb.i386.rpm
ここまでは問題なく進むが、以下のrpmインストールで、
# yum -y install ImageMagick-6.7.1-0.i386.rpm
次のようにエラーが発生してインストール失敗。
どうやら、依存関係のエラー。libwebp.so.0が足りないとのこと。
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: rsync.atworks.co.jp * extras: rsync.atworks.co.jp * updates: rsync.atworks.co.jp Setting up Install Process Examining ImageMagick-6.7.1-0.i386.rpm: ImageMagick-6.7.1-0.i386 Marking ImageMagick-6.7.1-0.i386.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package ImageMagick.i386 0:6.7.1-0 set to be updated --> Processing Dependency: liblzma.so.0 for package: ImageMagick --> Processing Dependency: libwebp.so.0 for package: ImageMagick --> Processing Dependency: libwmf-0.2.so.7 for package: ImageMagick --> Processing Dependency: libwmflite-0.2.so.7 for package: ImageMagick --> Running transaction check ---> Package ImageMagick.i386 0:6.7.1-0 set to be updated --> Processing Dependency: libwebp.so.0 for package: ImageMagick ---> Package libwmf.i386 0:0.2.8.4-10.2 set to be updated --> Processing Dependency: gd >= 2.0.21 for package: libwmf ---> Package xz-libs.i386 0:4.999.9-0.3.beta.20091007git.el5 set to be updated --> Running transaction check ---> Package ImageMagick.i386 0:6.7.1-0 set to be updated --> Processing Dependency: libwebp.so.0 for package: ImageMagick ---> Package gd.i386 0:2.0.33-9.4.el5_4.2 set to be updated --> Finished Dependency Resolution ImageMagick-6.7.1-0.i386 from /ImageMagick-6.7.1-0.i386 has depsolving problems --> Missing Dependency: libwebp.so.0 is needed by package ImageMagick-6.7.1-0.i386 (/ImageMagick-6.7.1-0.i386) Error: Missing Dependency: libwebp.so.0 is needed by package ImageMagick-6.7.1-0.i386 (/ImageMagick-6.7.1-0.i386) You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest The program package-cleanup is found in the yum-utils package.
# wget http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_11.3/src/libwebp-0.1.2-1.1.src.rpm # rpmbuild --rebuild libwebp-0.1.2-1.1.src.rpm libwebp-0.1.2-1.1.src.rpm をインストール中です。 警告: InstallSourcePackage: ヘッダ V3 DSA signature: NOKEY, key ID 09ca02b0 エラー: ビルド依存性の失敗: libpng-devel は libwebp-0.1.2-1.1.i386 に必要とされています xz は libwebp-0.1.2-1.1.i386 に必要とされています
libpng-develとxzが必要とのこと。
# yum install libpng-devel # yum install xz
# rpmbuild --rebuild libwebp-0.1.2-1.1.src.rpm libwebp-0.1.2-1.1.src.rpm をインストール中です。 警告: InstallSourcePackage: ヘッダ V3 DSA signature: NOKEY, key ID 09ca02b0 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.34740 + umask 022 + cd /usr/src/redhat/BUILD + LANG=C + export LANG + unset DISPLAY + cd /usr/src/redhat/BUILD + rm -rf libwebp + tar -xf /usr/src/redhat/SOURCES/libwebp-0.1.2.tar.xz tar: This does not look like a tar archive tar: Skipping to next header tar: Archive contains obsolescent base-64 headers tar: Read 4724 bytes from /usr/src/redhat/SOURCES/libwebp-0.1.2.tar.xz tar: Error exit delayed from previous errors エラー: /var/tmp/rpm-tmp.34740 の不正な終了ステータス (%prep) RPM ビルドエラー: InstallSourcePackage: ヘッダ V3 DSA signature: NOKEY, key ID 09ca02b0 /var/tmp/rpm-tmp.34740 の不正な終了ステータス (%prep)
どうやら、tarコマンドで、xz形式のファイルが解凍出来ないとのエラー。
xzファイルってなんだろうと思いますと、次のようなことがわかる。
また、2009年3月5日にリリースされたGNU tarバージョン1.22からは、gzipに比べて圧縮効率が大きく向上した xz圧縮(拡張子.tar.xz)という新しい圧縮フォーマットがサポートされています。
CentOSのtarコマンドのバージョンを確認すると、1.15.1なので、xzには対応していない。
# tar --version tar (GNU tar) 1.15.1
現時点でCentOSでは、tarは1.22は利用できないので、SPECファイルを書き換えて対応する。
vi /usr/src/redhat/SPECS/libwebp.spec
以下の行を書き換え。
Source: %name-%version.tar.xz ↓ Source: %name-%version.tar.gz
ソースファイルのダウンロード
# wget http://webp.googlecode.com/files/libwebp-0.1.2.tar.gz # cp libwebp-0.1.2.tar.gz /usr/src/redhat/SOURCES/ # rpmbuild -bb /usr/src/redhat/SPECS/libwebp.spec 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.65676 + umask 022 + cd /usr/src/redhat/BUILD + LANG=C + export LANG + unset DISPLAY + cd /usr/src/redhat/BUILD + rm -rf libwebp + /bin/gzip -dc /usr/src/redhat/SOURCES/libwebp-0.1.2.tar.gz + tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd libwebp /var/tmp/rpm-tmp.65676: line 36: cd: libwebp: No such file or directory エラー: /var/tmp/rpm-tmp.65676 の不正な終了ステータス (%prep)
/usr/src/redhat/BUILD以下にディレクトリlibwebpが無いので移動できないとのエラー。
tar.gzファイルを解凍すると、以下のようにバージョン番号まで含んだディレクトリが作成される。
/usr/src/redhat/BUILD/libwebp-0.1.2/
そこで、今度は
vi /usr/src/redhat/SPECS/libwebp.spec
以下の行を書き換え。
%prep setup -qn %name ↓ %prep setup -qn %name-%version
実行
# rpmbuild -bb /usr/src/redhat/SPECS/libwebp.spec
以下の4ファイルが作成される。
書き込み完了: /usr/src/redhat/RPMS/i386/libwebp-tools-0.1.2-1.1.i386.rpm 書き込み完了: /usr/src/redhat/RPMS/i386/libwebp0-0.1.2-1.1.i386.rpm 書き込み完了: /usr/src/redhat/RPMS/i386/libwebp-devel-0.1.2-1.1.i386.rpm 書き込み完了: /usr/src/redhat/RPMS/i386/libwebp-debuginfo-0.1.2-1.1.i386.rpm
コピーしておく。
cp /usr/src/redhat/RPMS/i386/libwebp-tools-0.1.2-1.1.i386.rpm ./ cp /usr/src/redhat/RPMS/i386/libwebp0-0.1.2-1.1.i386.rpm ./ cp /usr/src/redhat/RPMS/i386/libwebp-devel-0.1.2-1.1.i386.rpm ./ cp /usr/src/redhat/RPMS/i386/libwebp-debuginfo-0.1.2-1.1.i386.rpm ./
インストール。
rpm -i libwebp0-0.1.2-1.1.i386.rpm
ImageMagickのインストール
yum -y install ImageMagick-6.7.1-0.i386.rpm yum -y install ImageMagick-devel-6.7.1-0.i386.rpm yum -y install ImageMagick-c++-6.7.1-0.i386.rpm yum -y install ImageMagick-c++-devel-6.7.1-0.i386.rpm sed -i 's/gpgcheck=0/gpgcheck=1/g' /etc/yum.conf
(参考)
http://d.hatena.ne.jp/okyohei/20110611/1307817824
http://d.hatena.ne.jp/okyohei/