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.

1
  • 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? Mar 3, 2013 at 10:31

4 Answers 4

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.

7
  • 3
    I find it odd that the 2 answers above with more votes did not work, did not work in 12.04 through 13.04. But installing the actual package that wine was saying missing as you pointed here worked. Is a shame I had to do the ones mentioned above to then see this answer at the bottom which works. May 29, 2013 at 17:01
  • 3
    that package is not available in Ubuntu 12.04.
    – rik-shaw
    Aug 7, 2013 at 16:24
  • 2
    apt-get install gnome-keyring worked for me, for 64-bit 12.04 Aug 19, 2013 at 15:56
  • 2
    Installing libp11-kit-gnome-keyring:i386 does not fix the problem in Ubuntu 13.10
    – malisokan
    Dec 25, 2013 at 12:35
  • 4
    Fixed it for me on Ubuntu 14.04
    – panmari
    Apr 22, 2014 at 10:45
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.

9
  • 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.
    – user68627
    Jun 5, 2012 at 20:30
  • 2
    let me suggest to put links in /usr/local/lib/...
    – rzr
    Oct 31, 2012 at 9: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, 2013 at 12:45
  • 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, 2013 at 21:37
  • 2
    vaab's solution seems so much simpler, and worked for me with 12.04. I suggest trying that first.
    – Lambart
    Sep 20, 2013 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 !

7
  • 3
    the tar xf data.tar.gz should be tar xf data.tar.xz, at least on my pc... thanks
    – toto_tico
    May 17, 2013 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, 2013 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, 2013 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, 2013 at 11:59
  • Awesome. Worked with Crunchbang Waldorf
    – Meredith
    Dec 31, 2013 at 13:08
2

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

sudo apt-get install --reinstall libp11-kit0
2
  • This had no effect for me on Ubuntu 14.10/
    – incises
    Feb 18, 2015 at 11:40
  • 1
    Why would you downvote an answer for 12.04, with respect to how it works on 14.10... Feb 23, 2015 at 18:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .