[問題]
librsvg2パッケージのアップデートでエラーになる
[対象となる製品のバージョン]
MIRACLE LINUX V3.0 - Asianux Inside
MIRACLE LINUX V3.0 - Asianux Inside for x86-64
[問題詳細]
librsvg2パッケージをアップデートする際に、システムの状態によっては下記のようなエラーが発生することがあります。
gdk-pixbuf-query-loaders: command not found
error: %postun(librsvg2-2.2.3-2) scriptlet failed, exit status 127
これは、次のような理由から発生します。
gtk2パッケージがこのアップデートを実行する以前に2.2.4-19以降にアップデートされたため、gdk-pixbuf.loadersファイルの場所および更新方法が変更になり、gdk-pixbuf-query-loadersコマンドが存在しなくなった。
gtk2パッケージアップデート後、librsvg2パッケージを2.2.3-2より新しいバージョンにアップデートしたときに、2.2.3-2がアンインストールされる時に実行されるスクリプトが必要とするgdk-pixbuf-query-loadersコマンドが存在しないためエラーが発生する。
また、librsvg2とgtk2を同時にインストールした場合も、gtk2が先にアップデートされた場合には同様のエラーが発生します。
[回答]
この問題が発生した場合は、次のような対処を行ってください。
- rpmデータベース情報の確認
古いlibrsvg2-2.2.3-2パッケージの情報が残っている場合があります。
"rpm -q librsvg2-2.2.3-2"を実行してください。
# rpm -q librsvg2-2.2.3-2
librsvg2-2.2.3-2
このように表示された場合は古い情報が残っています。
下記のコマンドを実行し、データベース情報を修正してください。
# rpm -e --noscripts librsvg2-2.2.3-2
- gdk-pixbuf.loadersファイル情報の更新
システムに応じて下記のコマンドのいずれかを実行し、gdk-pixbuf.loadersファイルの情報を更新します。
MIRACLE LINUX V3.0 - Asianux Insideの場合
# update-gdk-pixbuf-loaders i686-pc-linux-gnu
MIRACLE LINUX V3.0 - Asianux Inside for x86-64の場合
# update-gdk-pixbuf-loaders x86_64-pc-linux-gnu
[関連事項]
-
弊社提供のパッケージ以外を利用されている場合、後方互換性を保つため、システムに応じて下記のコマンドのいずれかを実行することをお奨めします。
MIRACLE LINUX V3.0 - Asianux Insideの場合
# ln -sf i686-pc-linux-gnu/gdk-pixbuf.loaders /etc/gtk-2.0/gdk-pixbuf.loaders
MIRACLE LINUX V3.0 - Asianux Inside for x86-64の場合
# ln -sf x86_64-pc-linux-gnu/gdk-pixbuf.loaders /etc/gtk-2.0/gdk-pixbuf.loaders
-
gtk2-2.2.4-19とlibrsvg2-2.2.3-6の組み合わせでインストールしたときに、下記のようなエラーが発生することがありました。
# rpm -Fvh librsvg2-2.2.3-6.i386.rpm gtk2-2.2.4-19.i386.rpm
/usr/bin/update-gdk-pixbuf-loaders: line 27:
/etc/gtk-2.0/i386-pc-linux-gnu/gdk-pixbuf.loaders: そのようなファイルやディレクトリはありません
エラー: %post(librsvg2-2.2.3-6) scriptlet failed, exit status 1
この場合は、gtk2-2.2.4-19.1AX以降にアップデートすることで正常に更新できます。
(エラーとなっているlibrsvg2の%postスクリプトの内容は、gtk2のアップデート時に同様の内容が正常に実行されます。)
もしgtk2のアップデートで下記のようなエラーが発生した場合は、
# rpm -Fvh gtk2-2.2.4-19.1AX.i386.rpm
エラー: Failed dependencies:
librsvg2 < 2.2.3-3 conflicts with gtk2-2.2.4-19.1AX
[回答] にあるステップ1(rpmデータベース情報の修正)を行ってから作業を行ってください。
[更新履歴]
2006年1月25日 [関連事項]2を修正
2006年1月23日 新規作成
|