Il vino non riesce a trovare gnome-keyring-pkcs11.so

62

Sto provando ad avviare un programma usando wine su Ubuntu LTS 12.04 64 bit

Quando faccio questo, ottengo il seguente messaggio di errore ...

  

/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux->gnu/pkcs11/gnome-keyring-pkcs11.so: impossibile aprire la condivisione file oggetto: nessun file o & gt; directory

Quando provo a collegare simbolicamente le librerie a 64 bit, ovviamente, ottengo il seguente ...

jacki[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

Esiste un pacchetto che installa sia a 32 bit che a 64 bit?

UPDATE:

Sembra un bug in Ubuntu w / 1.4

link

Ho usato questi passaggi e la mia applicazione ha funzionato

link

Non sei sicuro del perché, ma sembra ignorare l'errore se usi 1.5.

    
posta Jackie 29.04.2012 - 17:37

4 risposte

42

Questa soluzione funziona con Ubuntu 12.04 a 64 bit

Inizialmente avevo questo errore:

/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

Poi ho fatto un link ln -s alla lib di 64 bit e ho ottenuto questo errore:     /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: errata classe ELF: ELFCLASS64

nota: prima di iniziare rimuovi il link alla lib di 64 bit se lo hai creato.

Soluzione:

Ecco come risolverlo. Nota Sto usando Crossover 11.3, che utilizza wine 1.4 quindi dovrebbe funzionare anche per gli utenti di vino.

Ulteriori informazioni relative a getlibs possono essere trovate qui .

1) Installa getlibs:

UODATE 3/2013: scarica getlibs dal link

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) Installa la libreria a 32 bit:

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

Se hai ricevuto questo messaggio errore:

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

quindi scarica il file qui:

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

e fai:

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

3) Crea il link simbolico:

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

Ora esegui la tua app Crossover / Wine e l'errore è scomparso.

    
risposta data Nathan Campbell 16.05.2012 - 17:28
46

La soluzione a questo non deve essere più complessa di:

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

per macchine a 64 bit. O

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

per macchine a 32 bit.

Almeno questo è il caso della 13.04 e non vedo alcuna ragione per cui ciò non si possa ritenere vero in 12.04 / 12.10.

    
risposta data andy.holmes 29.05.2013 - 07:22
14

Probabilmente hai indovinato il tuo bisogno di ottenere il file /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so . Questo file fa parte di un pacchetto i386 ubuntu che non si installa direttamente sul tuo sistema amd64. Ma puoi farlo facilmente:

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/

Mi è successo su un 12.10 con wine-1.5.29 e la versione i586 gnome-keyring è stata etichettata come 3.6.1-0ubuntu1_i386 , e questo ha funzionato per me.

Tieni presente che se queste istruzioni non sono adatte a te, forse dovresti menzionare la versione di ubuntu e la versione gnome-keyring . Grazie!

    
risposta data vaab 15.05.2013 - 22:53
2

Un'altra opzione che ha funzionato per me è semplicemente reinstallare libp11-kit0

sudo apt-get install --reinstall libp11-kit0
    
risposta data Brandon Bertelsen 28.04.2013 - 00:19

Leggi altre domande sui tag