Wine no puede encontrar gnome-keyring-pkcs11.so

62

Estoy intentando iniciar un programa usando wine en Ubuntu LTS 12.04 64 bit

Cuando hago esto, aparece el siguiente mensaje de error ...

  

/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux->gnu/pkcs11/gnome-keyring-pkcs11.so: no se puede abrir compartido archivo de objeto: ningún archivo o directorio & gt;

Cuando trato de enlazar simbólicamente las bibliotecas de 64 bits, por supuesto, obtengo lo siguiente ...

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

¿Hay algún paquete que instale tanto el de 32 bits como el de 64 bits?

ACTUALIZACIÓN:

Parece ser un error en Ubuntu w / 1.4

enlace

Utilicé estos pasos y mi aplicación funcionó

enlace

No estoy seguro exactamente por qué, pero parece ignorar el error si usa 1.5.

    
pregunta Jackie 29.04.2012 - 15:37

4 respuestas

42

Esta solución funciona para Ubuntu 12.04 64bit

Originalmente tuve este 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

Luego hice un enlace ln -s a la lib de 64 bits y obtuve este error:     /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: clase ELF incorrecta: ELFCLASS64

nota: antes de comenzar, elimine el enlace a la lib 64bit si lo creó.

Solución:

Aquí está cómo solucionarlo. Tenga en cuenta que estoy usando Crossover 11.3, que usa wine 1.4, por lo que también debería funcionar para los usuarios del vino.

Se puede encontrar más información relacionada con getlibs aquí .

1) Instalar getlibs:

UODATE 3/2013: descargue getlibs de enlace

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) Instale la biblioteca de 32 bits:

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

Si recibió este mensaje de error:

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

luego descarga el archivo aquí:

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

y hacer:

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

3) Haz el enlace simbólico:

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

Ahora ejecuta tu aplicación Crossover / Wine y el error desaparecerá.

    
respondido por el Nathan Campbell 16.05.2012 - 15:28
46

La solución a esto no tiene que ser más compleja que:

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

para máquinas de 64 bits. O

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

para máquinas de 32 bits.

Al menos este es el caso en 13.04 y no veo ninguna razón por la que eso no sea cierto en 12.04 / 12.10.

    
respondido por el andy.holmes 29.05.2013 - 05:22
14

Probablemente hayas adivinado tu necesidad de obtener el archivo /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so . Este archivo es parte de un paquete i386 ubuntu que no se instalará directamente en su sistema amd64. Pero puedes obtenerlo fácilmente:

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/

Esto me ha sucedido en un 12.10 con wine-1.5.29 , y la versión i386 gnome-keyring fue etiquetada 3.6.1-0ubuntu1_i386 , y esto funcionó para mí.

Tenga en cuenta que si estas instrucciones no se ajustan a usted, tal vez debería mencionar su versión de Ubuntu y la versión de gnome-keyring . ¡Gracias!

    
respondido por el vaab 15.05.2013 - 20:53
2

Otra opción que funcionó para mí es simplemente reinstalar libp11-kit0

sudo apt-get install --reinstall libp11-kit0
    
respondido por el Brandon Bertelsen 27.04.2013 - 22:19

Lea otras preguntas en las etiquetas