El vino no puede encontrar gnome-keyring-pkcs11.so

62

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

Cuando hago esto, recibo 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 el archivo de objeto compartido: No tal archivo o> directorio

Cuando intento vincular 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

¿Existe un paquete que instale los de 32 bits y los de 64 bits?

ACTUALIZAR:

Parece ser un error en Ubuntu w / 1.4

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

Usé estos pasos y mi aplicación funcionó

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

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

Jackie
fuente
Intenté actualizar Rosetta Stone 4.1.10 a 4.1.15 manualmente usando un parche de actualización, y recibí el mismo error antes y después de actualizar wine1.4 a wine1.5. Realmente no parecía arreglar nada. ¿Tengo que eliminar por completo el prefijo de vino existente y crear uno completamente nuevo?
TheBicentennialMan

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 ln -senlace 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 biblioteca de 64 bits 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 de wine.

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

1) Instalar getlibs:

UODATE 3/2013: descargue getlibs de 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) Instale la biblioteca de 32 bits:

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

Si recibiste 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 descargue 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 ejecute su aplicación Crossover / Wine y el error desaparecerá.

Nathan Campbell
fuente
55
Para aquellos que tienen un error al hacer el enlace simbólico, haga un directorio llamado pkcs11 en / usr / lib / i386-linux-gnu, entonces solo usted hace el enlace simbólico. Yo tuve el mismo problema antes.
2
déjame sugerirte poner enlaces en / usr / local / lib / ...
rzr
¿Esto funciona para usted en 12.10? Para mí, elimina el error, pero mi programa aún no se inicia.
sup
99
getlibs es necesario, se puede usar apt para descargar (sin instalar) debs de los repositorios en su sources.list: apt-get download gnome-keyring:i386. Proporcionaría una respuesta sobre cómo solucionar esto usando solo apt, ar y tar, sin embargo, parece que no puedo responder esta pregunta.
Oscar Korz
2
La solución de vaab parece mucho más simple, y funcionó para mí con 12.04. Sugiero probar eso primero.
Lambart
46

La solución a esto no necesita 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 cual eso no sería cierto en 12.04 / 12.10.

andy.holmes
fuente
2
Me resulta extraño que las 2 respuestas anteriores con más votos no funcionaron, no funcionaron en 12.04 a 13.04. Pero instalar el paquete real que vino decía que faltaba, como señaló aquí, funcionó. Es una pena que tuve que hacer los mencionados anteriormente para luego ver esta respuesta en la parte inferior que funciona.
Luis Alvarado
3
ese paquete no está disponible en Ubuntu 12.04.
rik-shaw
2
apt-get install gnome-keyring funcionó para mí, para
64.04
2
Instalación de libp11-kit-gnome-keyring: i386 no soluciona el problema en Ubuntu 13.10
malisokan 25/12/2013
44
Lo arregló para mí en Ubuntu 14.04
panmari
14

Probablemente haya adivinado que necesita para 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 sucedió en un 12.10con wine-1.5.29, y la gnome-keyringversión i386 fue etiquetada 3.6.1-0ubuntu1_i386, y esto funcionó para mí.

Tenga en cuenta que si estas instrucciones no son adecuadas para usted, tal vez debería mencionar su versión y gnome-keyringversión de ubuntu . Gracias !

vaab
fuente
3
el tar xf data.tar.gzdebería ser tar xf data.tar.xz, al menos en mi pc ... gracias
toto_tico
1
en realidad no funcionó, no hay ningún nombre usr/lib/i386-linux-gnu/pkcs11en la carpeta de datos. En cambio, hay dos directorios en usr/lib: usr/lib/gnome-keyringyusr/lib/ubiquity
toto_tico
@toto_tico: obviamente, su gnome-keyringpaquete no es el mismo que el mío. ¿Podría dar más información sobre su versión y gnome-keyringversión de Ubuntu ? Agregué esta información a mi respuesta para que la compare.
vaab
Gracias @vaab. Finalmente encontré mi solución aquí . No puedo publicar la solución porque soy nuevo en esta comunidad.
toto_tico
1
Trabajó para mí con 12.04, ¡gracias!
Lambart
2

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

sudo apt-get install --reinstall libp11-kit0
Brandon Bertelsen
fuente
Esto no tuvo ningún efecto en Ubuntu 14.10 /
incide
1
¿Por qué rechazarías una respuesta para 12.04, con respecto a cómo funciona en 14.10 ...?
Brandon Bertelsen