This solution works for Ubuntu 12.04 64bit
I originally had this error:
/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory
Then I did a ln -s
link to the 64-bit lib and got this error:
/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: wrong ELF class: ELFCLASS64
note: before you start remove the link to the 64bit lib if you created it.
Solution:
Here is how to fix it. Note I am using Crossover 11.3, which uses wine 1.4 so it should also work for wine users.
Further related information to getlibs can be found here.
1) Install getlibs:
UODATE 3/2013: Download getlibs from https://github.com/spaetzlecode/getlibs
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
2) Install the 32bit library:
sudo /usr/local/bin/getlibs -p gnome-keyring:i386
If you got this message error:
Failed to download file http://mirrors.kernel.org/ubuntu/pool/main/g/gnome-keyring/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
then download the file right here:
wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
and do:
/usr/local/bin/getlibs -i "path-of-the-file"/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
3) Make the symbolic link:
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
Now run your Crossover/Wine app and the error is gone.
I just had the same problem. For me, it was sufficient to install the i386-version of p11-kit using
sudo apt-get install p11-kit:i386
I'm using Ubuntu 13.10 64-bit.
Best Answer
I had the same problem with Ubuntu 14.4 on an AMD64 box;
Not sure how I ended up in that state, but it was obvious that, inside of firefox, the pipelight/silverlight plugin tried to load two dynamic libraries, and could not find them.
Both were attempted to be loaded as 32bit variant (more specificaly from a directory explicitly designated for 32bit libs.)
The related library files for 64bit architecture where present
I read about some hackish approaches like ubuntuforums about "p11-kit error Workaround WINE in AMD64 Ubuntu 12.04, and tried to install packages with similar names to get the libs.
The tricky part was that the libs are not in the packages where you'd expect them from the packages name, but slightly similary named packages.
So, I found out that these two packages
p11-kit-modules:i386
andlibp11-kit-gnome-keyring:i386
need to be installed to fix the two "couldn't load module" cases.
Note that this did not resolve a third error message line followed direcly to the the lines discussed above: