Le vin ne trouve pas gnome-keyring-pkcs11.so

62

J'essaie de démarrer un programme utilisant du vin sur Ubuntu LTS 12.04 64 bits

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 fichier objet partagé: non tel fichier ou> répertoire

Lorsque j'essaie de faire un lien symbolique avec les bibliothèques 64 bits, bien sûr, j'obtiens ce qui suit ...

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

Existe-t-il un package qui installe les versions 32 bits et 64 bits?

MISE À JOUR:

Semble être un bug dans Ubuntu w / 1.4

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

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

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

Je ne sais pas exactement pourquoi mais il semble ignorer l'erreur si vous utilisez la version 1.5.

Jackie
la source
J'ai essayé de mettre à jour Rosetta Stone 4.1.10 à 4.1.15 manuellement à l'aide d'un correctif de mise à jour et j'ai eu la même erreur avant et après la mise à niveau de wine1.4 vers wine1.5. Cela ne semblait pas vraiment réparer quoi que ce soit. Dois-je supprimer complètement le préfixe wine existant et en créer un nouveau?
TheBicentennialMan

Réponses:

42

Cette solution fonctionne pour Ubuntu 12.04 64bit

J'ai eu à l'origine 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 ln -scréé un lien vers la bibliothèque 64 bits et j'ai obtenu l'erreur suivante: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: mauvaise classe ELF: ELFCLASS64

remarque: avant de commencer, supprimez le lien vers la bibliothèque 64 bits si vous l'avez créé.

Solution:

Voici comment y remédier. Notez que j'utilise Crossover 11.3, qui utilise Wine 1.4, il devrait donc également fonctionner pour les utilisateurs de vin.

Vous trouverez plus d'informations sur getlibs ici .

1) Installez getlibs:

UODATE 3/2013: Téléchargez les getlibs à l' adresse 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) Installez la bibliothèque 32 bits:

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

Si vous avez cette erreur de message:

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 fait:

/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, lancez votre application Crossover / Wine et l'erreur disparaît.

Nathan Campbell
la source
5
Pour ceux qui ont une erreur lors de la création du lien symbolique, créez un répertoire nommé pkcs11 dans / usr / lib / i386-linux-gnu, à vous de créer le lien symbolique. J'ai déjà eu le même poblème.
2
permettez-moi de suggérer de mettre des liens dans / usr / local / lib / ...
rzr
Est-ce que ça marche pour vous le 12.10? Pour moi, cela élimine l'erreur mais mon programme ne démarre toujours pas.
Sup
9
getlibs est inutile, vous pouvez utiliser apt télécharger (sans installer) debs de dépôts dans votre sources.list: apt-get download gnome-keyring:i386. Je voudrais donner une réponse sur la façon de résoudre ce problème en utilisant seulement apt, ar et tar, mais il semble que je ne sois pas en mesure de répondre à cette question.
Oscar Korz
2
La solution de vaab semble tellement plus simple, et a fonctionné pour moi avec 12.04. Je suggère d'essayer cela en premier.
Lambart
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 dans 13.04 et je ne vois pas pourquoi cela ne serait pas vrai dans 12.04 / 12.10.

andy.holmes
la source
2
Je trouve étrange que les 2 réponses ci-dessus avec plus de votes ne fonctionnent pas, ne fonctionnent pas entre 12.04 et 13.04. Mais installer le paquet que le vin disait manquant comme vous l'avez indiqué ici a fonctionné. C’est dommage que j’ai dû faire ce qui est mentionné ci-dessus pour voir ensuite cette réponse en bas qui fonctionne.
Luis Alvarado
3
ce paquet n'est pas disponible dans Ubuntu 12.04.
Rik-shaw
2
apt-get install gnome-keyring a fonctionné pour moi, pour la version 64 bits 12.04
lukewendling
2
Installation de libp11-kit-gnome-keyring: i386 ne résout pas le problème dans Ubuntu 13.10
malisokan
4
Corrigé pour moi sur Ubuntu 14.04
panmari
14

Vous avez probablement deviné votre besoin pour obtenir le fichier /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so. Ce fichier fait partie d'un paquet ubuntu i386 qui ne s'installe pas 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.10avec wine-1.5.29, et la gnome-keyringversion i386 a été étiquetée 3.6.1-0ubuntu1_i386, et cela a fonctionné pour moi.

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

vaab
la source
3
le tar xf data.tar.gzdevrait être tar xf data.tar.xz, au moins sur mon pc ... merci
toto_tico
1
en fait cela n'a pas fonctionné, il n'y a pas de fichier nommé usr/lib/i386-linux-gnu/pkcs11dans le dossier de données. Au lieu de cela, il y a deux répertoires dans usr/lib: usr/lib/gnome-keyringetusr/lib/ubiquity
toto_tico
@toto_tico: évidemment, votre gnome-keyringpaquet n'est pas le même que le mien. Pourriez-vous donner plus d'informations sur votre version et gnome-keyringversion Ubuntu ? J'ai ajouté ces informations à ma réponse pour vous permettre de comparer.
vaab
Merci @vaab. J'ai enfin trouvé ma solution ici . Je ne peux pas poster la solution car je suis nouvelle dans cette communauté.
toto_tico
1
Travaillé pour moi avec 12.04, merci!
Lambart
2

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

sudo apt-get install --reinstall libp11-kit0
Brandon Bertelsen
la source
Cela n'a eu aucun effet pour moi sur Ubuntu 14.10 /
incises le
1
Pourquoi voudriez-vous voter une réponse pour 12.04, en ce qui concerne son fonctionnement le 14.10 ...
Brandon Bertelsen