Wineのgnome-keyring-pkcs11.soが見つからないエラーの解決方法(2014年版)

今のところ実害らしいものを確認することはできませんが、Wineのターミナル出力に現れる
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
というエラーを出たままにしておくのも何なので、これを解決しておくことにしました。


なお、環境はUbuntu12.04.3 amd64です。

今回は穀風様「Ubuntu (64bit) で gnome-keyring-pkcs11.so が無いと言われる」を参考にさせていただきました。
とはいえ、2014年の時点で、当時とは多少ばかり環境の事情が違うようなので、あらためて手順をメモしておく次第です。
また、上記サイト様が参考にしたリンク先の AskUbuntu「Wine can't find gnome-keyring-pkcs11.so」にも情報が追加されていたようで、こちらも参考にさせていただきました。

具体的な変更点としては、穀風様のサイトに貼ってあるコマンドはダウンロード先がリンク切れしていることと、/usr/lib32が存在しないという2点です。


まず、手順どおりのコマンド
wget https://launchpad.net/~jcollins/+archive/jaminppa/+build/1482994/+files/getlibs_2.06-0ubuntu1%7Eppa2_all.deb
では、debパッケージを取得することができませんでした。

また、AskUbuntuに記載されているうち、
sudo apt-get install --reinstall libp11-kit0
および
sudo apt-get install libp11-kit-gnome-keyring:i386
という方法が簡単そうだったのですが、残念ながらどちらも上手く行かず。

そこで、もうひとつの方法である、getlibsによるダウンロードで*keyring.soライブラリの取得を試みます。
このあたりは解説の手順どおりに。
ファイルを取得して権限を付与します。
wget https://raw.github.com/spaetzlecode/getlibs/master/getlibs
sudo chown root:root getlibs
sudo chmod +x getlibs
ファイルを配置して実行します。
sudo mv -n getlibs /usr/local/bin
sudo /usr/local/bin/getlibs -p gnome-keyring:i386
残念ながら、ここまでの手順では「/usr/lib32が無い」というエラーを返します。

そこで、パッケージを直接ダウンロードしてくる方法を試しました。
wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
インストーラなので、管理者権限で実行。
sudo /usr/local/bin/getlibs -i gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

この方法も、同じく/usr/lib32が無いというエラーを返します。そして実際、存在しません(下のコマンドで確認)。
ls /usr/lib32

getlibsによるライブラリのインストール先は固定パスだと思われるので、インストール先ディレクトリをあらかじめ作成しておくことで、問題を回避することにしました。
sudo mkdir /usr/lib32
sudo /usr/local/bin/getlibs -i gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
これで成功。試していませんが、getlibsに-p指定する上の方法も上手く行くのではないかと思います。

あとは手順どおりに、リンクを貼って終了です。
sudo mkdir -p /usr/lib/i386-linux-gnu/pkcs11/
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

以上の手順により、 gnome-keyring-pkcs11.so に関するエラーが出なくなるはずです。

このブログの人気の投稿

GIMP2.8でイラストにペン入れを行う

squid3プロキシサーバの設定(Ubuntu13.10)

ubuntu13.04で無線LANが繋がらない場合の対処