MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

カテゴリ:その他
2006年1月25日
MIRACLE LINUX V3.0 対応 MIRACLE LINUX V3.0 for x86-64対応

[問題]

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が先にアップデートされた場合には同様のエラーが発生します。

[回答]

この問題が発生した場合は、次のような対処を行ってください。

  1. 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
    
  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
    

[関連事項]

  1. 弊社提供のパッケージ以外を利用されている場合、後方互換性を保つため、システムに応じて下記のコマンドのいずれかを実行することをお奨めします。

    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
    
  2. 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日 新規作成

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2013 MIRACLE LINUX CORPORATION. All Rights Reserved.