62

I am trying to start a program using wine on Ubuntu LTS 12.04 64 bit

When I do this, I get the following error message...

/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

When I try to symlink the 64 bit libraries, of course, I get the following...

jackie@jackie-Latitude-E6410:~/tmp/AC$ wine TTG.exe
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: wrong ELF class: ELFCLASS64
wine: Unhandled page fault on read access to 0x00000000 at address (nil) (thread 0009), 
starting debugger...
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bc47aac

Is there a package that installs the 32-bit as well as the 64bit?

UPDATE:

Appears to be a bug in Ubuntu w/ 1.4

https://launchpad.net/~ubuntu-wine/+archive/ppa

I used these steps and my application worked

http://www.noobslab.com/2012/04/install-wine-152-on-ubuntu.html

Not sure exactly why but it appears to ignore the error if you use the 1.5.

Kevin Bowen
  • 19,615
  • 55
  • 79
  • 83
Jackie
  • 605
  • I tried updating Rosetta Stone 4.1.10 to 4.1.15 manually using an update patch, and the I got the same error before and after upgrading wine1.4 to wine1.5. It did not really seem to fix anything. Do I have to completely delete the existing wineprefix and create a new one completely? – Subhamoy S. Mar 03 '13 at 10:31

4 Answers4

47

The solution to this needn't be any more complex than:

sudo apt-get install libp11-kit-gnome-keyring

for 64 bit machines. Or

sudo apt-get install libp11-kit-gnome-keyring:i386

for 32 bit machines.

At least this is the case in 13.04 and I see no reason why that wouldn't hold true in 12.04/12.10.

George Udosen
  • 36,677
42

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.

Evan Carroll
  • 7,526
  • 5
    For those having error making the symbolic link make a directory named pkcs11 in /usr/lib/i386-linux-gnu then only you make the symbolic link. I had the same problem before. –  Jun 05 '12 at 20:30
  • 2
    let me suggest to put links in /usr/local/lib/... – rzr Oct 31 '12 at 09:12
  • Does this work for you on 12.10? For me it gets rid of the error but my program still does not start up. – sup Jan 29 '13 at 12:45
  • That link for getting getlibs no longer works :( Even the official site of getlibs is down. This is a really bad news, because nothing else seems to fix it. Ubuntu 12.10 x64 did not complain when I softlinked, but it did not fix the problem. – Subhamoy S. Mar 03 '13 at 10:32
  • According to Sidney Sissaoui (shideneyu@gmail.com), getlibs could be found here – Subhamoy S. Mar 04 '13 at 16:25
  • 9
    getlibs is unnecessary, you can use apt to download (without installing) debs from repositories in your sources.list: apt-get download gnome-keyring:i386. I would provide an answer on how to do fix this using only apt, ar and tar, however I seem to be blocked from answering this question. – Oscar Korz Mar 30 '13 at 21:37
  • This didn't work in my Ubuntu 13.04. I found this solution that did the job. – toto_tico May 17 '13 at 11:31
  • If you are on Ubuntu saucy salamander (e.g. [tag:13.10] beta 1) and you get the error message p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory, then simply do the same commands as above, but also with p11-kit: first do sudo /usr/local/bin/getlibs -p p11-kit:i386 then make the symbolic link: sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so – Reggie Sep 17 '13 at 17:38
  • 2
    vaab's solution seems so much simpler, and worked for me with 12.04. I suggest trying that first. – Lambart Sep 20 '13 at 20:14
14

You probably guessed your needed to get the file /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so. This file is part of an i386 ubuntu package which won't install directly on your amd64 system. But you can get it easily:

cd $(mktemp -d)                      ## create and go to a temporary temp dir
apt-get download gnome-keyring:i386  ## download the i386 version of gnome-keyring
ar x gnome-keyring*.deb              ## Uncompress the package
tar xf data.tar.gz
## Finally move the file you need to the desired location:
sudo mv usr/lib/i386-linux-gnu/pkcs11 /usr/lib/i386-linux-gnu/

This has happened to me on a 12.10 with wine-1.5.29, and i386 gnome-keyring version was labeled 3.6.1-0ubuntu1_i386, and this worked for me.

Please note that if these instruction do not fit for you, maybe should you mention your ubuntu release and gnome-keyring version. Thanks !

vaab
  • 1,084
  • 3
    the tar xf data.tar.gz should be tar xf data.tar.xz, at least on my pc... thanks – toto_tico May 17 '13 at 11:09
  • 1
    actually it didn't work, there is no file named usr/lib/i386-linux-gnu/pkcs11 in the data folder. Instead there are two directories in usr/lib: usr/lib/gnome-keyring and usr/lib/ubiquity – toto_tico May 17 '13 at 11:14
  • @toto_tico: obviously, your gnome-keyring package is not the same as mine. Could you give more information on your Ubuntu release and gnome-keyring version ? I added these information to my answer for you to compare. – vaab May 17 '13 at 13:18
  • Thanks @vaab. I finally found my solution here. I cannot post the solution because I am new on this community. – toto_tico May 18 '13 at 11:59
  • Awesome. Worked with Crunchbang Waldorf – Meredith Dec 31 '13 at 13:08
  • I am running Ubuntu 14.10 and got the same problem. I tried vaab solution but it did not work for the same reasons as mentionned by toto_tico. Did anybody solve this problem for Ubuntu 14.10 ? – incises Feb 18 '15 at 11:26
  • I am running Ubuntu 14.10 and got the same problem. I tried vaab solution but it failed for the same reasons as mentionned by toto_tico's first message. However the link toto_tico gave later seems to be irrelevant. Did anybody solve this problem for Ubuntu 14.10 ? Note : are natively installed on my system : libp11-kit-gnome-keyring (ver : 3.10.1-1.ubuntu7), gnome-kyring (ver : 3.10.1-1.ubuntu7), lib-gnome-keyring-common (ver 3.8.0-2). – incises Feb 18 '15 at 11:36
2

Another option that worked for me is to simply reinstall libp11-kit0

sudo apt-get install --reinstall libp11-kit0