Wine ne peut pas trouver gnome-keyring-pkcs11.so

62

J'essaie de lancer un programme en utilisant wine sur Ubuntu LTS 12.04 64 bit

Lorsque je fais cela, je reçois le message d'erreur suivant ...

  

/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux->gnu/pkcs11/gnome-keyring-pkcs11.so: impossible d'ouvrir le partage fichier objet: pas de tel fichier ou répertoire & gt;

Lorsque j'essaie de créer un lien symbolique entre les bibliothèques 64 bits, bien sûr, j'obtiens les éléments suivants ...

[email protected]:~/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

Existe-t-il un paquet qui installe le 32 bits ainsi que le 64 bits?

MISE À JOUR:

Apparaît être un bogue dans Ubuntu w / 1.4

lien

J'ai utilisé ces étapes et mon application a fonctionné

lien

Vous ne savez pas exactement pourquoi mais il semble ignorer l’erreur si vous utilisez le 1.5.

    
posée Jackie 29.04.2012 - 17:37
la source

4 réponses

42

Cette solution fonctionne pour Ubuntu 12.04 64bit

Au départ, j'avais cette erreur:

/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

Ensuite, j'ai fait un lien ln -s vers la librairie 64 bits et j'ai eu cette erreur:     /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: mauvaise classe ELF: ELFCLASS64

note: avant de commencer, supprimez le lien vers la lib 64 bits si vous l'avez créé.

Solution:

Voici comment le réparer. Note J'utilise Crossover 11.3, qui utilise wine 1.4, donc cela devrait aussi fonctionner pour les utilisateurs de vin.

Des informations supplémentaires sur getlibs peuvent être trouvées ici .

1) Installez getlibs:

UODATE 3/2013: Téléchargez getlib depuis lien

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) Installez la bibliothèque 32 bits:

sudo /usr/local/bin/getlibs -p gnome-keyring:i386

Si vous avez ce message d'erreur:

Failed to download file http://mirrors.kernel.org/ubuntu/pool/main/g/gnome-keyring/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

puis téléchargez le fichier ici:

wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

et faire:

/usr/local/bin/getlibs -i "path-of-the-file"/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

3) Faites le lien symbolique:

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

Maintenant, exécutez votre application Crossover / Wine et l'erreur a disparu.

    
réponse donnée Nathan Campbell 16.05.2012 - 17:28
la source
46

La solution à ce problème ne doit pas être plus complexe que:

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

pour les machines 64 bits. Ou

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

pour les machines 32 bits.

Au moins, c'est le cas en 13.04 et je ne vois aucune raison pour que cela ne se vérifie pas en 12.04 / 12.10.

    
réponse donnée andy.holmes 29.05.2013 - 07:22
la source
14

Vous avez probablement deviné que vous deviez obtenir le fichier /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so . Ce fichier fait partie d'un paquet i386 ubuntu qui ne sera pas installé directement sur votre système amd64. Mais vous pouvez l'obtenir facilement:

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/

Cela m’est arrivé sur 12.10 avec wine-1.5.29 , et la version i386 gnome-keyring était étiquetée 3.6.1-0ubuntu1_i386 , et cela fonctionnait pour moi.

Veuillez noter que si ces instructions ne vous conviennent pas, peut-être devriez-vous mentionner votre version d'ubuntu et votre version de gnome-keyring . Merci!

    
réponse donnée vaab 15.05.2013 - 22:53
la source
2

Une autre option qui a fonctionné pour moi est de réinstaller simplement libp11-kit0

sudo apt-get install --reinstall libp11-kit0
    
réponse donnée Brandon Bertelsen 28.04.2013 - 00:19
la source

Lire d'autres questions sur les étiquettes