Quando Wine non trova gnome-keyring-pkcs11.so

Se usate Ubuntu 12.04 a 64-bit e Wine, vi sarete sicuramente accorti di un errore molto ricorrente che ha a che fare con le connessioni che usano PKCS. Ciò significa che se i vostri software su Wine tentano di usare connessioni sicure (HTTPS) avranno dei seri problemi di funzionamento. L’errore è il seguente:


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: impossibile aprire il file oggetto condiviso: File o directory non esistente

In rete si trovano parechie informazioni a riguardo, come in questo thread di Ask Ubuntu. Il problema è che nella discussione dicono che è un bug esclusivo di Wine 1.4, e che installando la versione 1.5 da PPA si risolve tutto. Io però ho la 1.5 e il problema ce l’avevo ancora, ho quindi dovuto leggermente adattare le istruzioni. Dopo alcuni tentativi, ho deciso di risolvere “a mano”.

In sintesi, bisogna copiare alcuni file da un pacchetto a 32 bit. In particolare, dovete prendere da questa pagina il pacchetto con nome simile a gnome-keyring_X.X.X-0ubuntu1_i386.deb più recente (cioè in basso). State attenti che finisca con i386.

Salvatelo nella vostra cartella home e poi cliccateci col tasto destro e scegliete Estrai qui. A questo punto dovete aprire il terminale e copiare il necessario. Ecco i comandi per farlo:


cd gnome-keyring_3.6.2-0ubuntu1_i386/usr/lib/i386-linux-gnu/
sudo mkdir -p /usr/lib/i386-linux-gnu/
sudo cp -rf pkcs11 /usr/lib/i386-linux-gnu/
cd
rm -rf gnome-keyring_*

Come al solito copiate le righe nel terminale per intero (una alla volta!) e premete invio per eseguirle. Quando avrete fatto tutto la libreria sarà correttamente installata e accessibile da Wine che non darà più alcun errore.

25 pensieri su “Quando Wine non trova gnome-keyring-pkcs11.so

  1. Ciao Andrea,

    Ho seguito passo passo la tua guida ma arrivato al comando

    “sudo getlibs -p gnome-keyring:i386”

    quando do l’assenso all’installazione del pacchetto ricevo il seguente messaggio d’errore:

    “cp: impossibile sovrascrivere la non-directory “/usr/lib32/i386-linux-gnu” con la directory “/tmp/getlibs.psZYiy5ZE1/extracted/usr/lib/i386-linux-gnu”
    Copying files failed – run getlibs with “sudo getlibs” or as root”

    Ho comunque proseguito con i comando successivi ma il problema iniziale di Wine è rimasto.

  2. Ciao Andrea,

    Ho lanciato il comando che mi hai suggerito ma non ha sortito effetto.

    Quando arrivo al comando “sudo getlibs -p gnome-keyring:i386” il sistema mi avverte che “ia32-libs è già alla versione più recente”.

    Se procedo comunque con l’installazione torno all’errore “cp: impossibile sovrascrivere la non-directory “/usr/lib32/i386-linux-gnu” con la directory “/tmp/getlibs.Hu5EzpMf9t/extracted/usr/lib/i386-linux-gnu”
    Copying files failed – run getlibs with “sudo getlibs” or as root”

    Se invece non reinstallo il pacchetto, quando arrivo al comando “sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so” ricevo questo messaggio “ln: creazione del collegamento simbolico “/usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so” non riuscita: File già esistente”

    E qui mi areno. Se provo a lanciare il comando “wineboot” non ottengo alcun feedback…

    Ciao e grazie per l’aiuto.

  3. Ah ma quindi tu hai già il pacchetto ia32-libs, è corretto? Se non hai software che dipendono da quello io proverei innanzitutto a rimuoverlo, dopodiché fai di nuovo il comando che ti dicevo nel commento. Il punto è che c’è quella non-directory “/usr/lib32/i386-linux-gnu” che dice il tuo messaggio di errore. Bisogna toglierla.
    Riguardo alla creazione del collegamento simbolico, siccome l’avevi già fatto in precedenza non è necessario ripeterlo.

  4. Onestamente non saprei dirti se il pacchetto era già presente prima che trovassi la sua guida e se ho altre applicazioni che vi si appoggiano. Ho una conoscenza molto ridotta dell’ambiente Linux.
    Potresti spiegarmi passo passo che devo fare per sistemare la situazione?

    Grazie

  5. Così a distanza non è facilissimo ma possiamo provare. Puoi per favore postarmi l’output di questo comando?

    file /usr/lib32/i386-linux-gnu
    
  6. Eccolo:

    /usr/lib32/i386-linux-gnu: ERROR: cannot open `/usr/lib32/i386-linux-gnu’ (No such file or directory)

    Non so se può essere utile precisarlo, comunque il sistema è partizionato con root e home separate.

  7. Mmm… Prova a fare:

    sudo mkdir -p /usr/lib32/i386-linux-gnu
    

    E poi rifare tutti gli 8 comandi della guida uno alla volta. Non rifare quello che ti suggerivo nel commento che ho scritto precedentemente. Se ricevi errori con i comandi che contengono ln -s non ti preoccupare e vai avanti. Se invece ricevi errori su altri comandi allora vediamo di capire che altro problema c’è.

  8. Sto procedendo ocme mi hai indicato e sono arrivato a

    sudo getlibs -p gnome-keyring:i386

    Il cui output è il seguente:

    Lettura elenco dei pacchetti… Fatto
    Generazione albero delle dipendenze
    Lettura informazioni sullo stato… Fatto
    ia32-libs è già alla versione più recente.
    0 aggiornati, 0 installati, 0 da rimuovere e 0 non aggiornati.
    The following i386 packages will be installed: gnome-keyring:i386
    Continue [Y/n]?

    Cosa mi suggerisci di fare?

  9. Sono arrivato al termine della procedura, lancio il comando wineboot e non succede nulla.
    Sono un po’ interdetto sai? Non capisco cos’è che va storto…

  10. Be’ ma cosa dovrebbe succedere?🙂 A meno che tu non abbia cancellato la cartella del profilo di Wine il comando wineboot non dà nessun output. Prova qualche programma sotto Wine che usa SSL, tipo Evernote o quello che vuoi, dovresti vedere che si connette correttamente.

  11. L’installazione di WLM non ha nulla a che vedere con lo scopo di questo articolo. Comunque sia probabilmente l’avvio avviene se durante l’installazione del medesimo l’hai messo in esecuzione automatica. Altrimenti puoi cercare nel menu di Unity se è stata creata una icona che lo fa partire, oppure puoi avviarlo da terminale dando il comando wine seguito dal percorso completo dell’eseguibile di WLM.

  12. Ciao,
    mille grazie del suggerimento, ho letto l’articolo e avendo lo stesso problema ho provato il tuo codice, ma mi si interrompe alla terza riga come per XaM:

    sudo ln -s /usr/lib/i386-linux-gnu /usr/lib32
    ln: failed to create symbolic link `/usr/lib32/i386-linux-gnu’: File exists

    Io ho il problema di non poter rimuovere ia32-libs perchè alcuni programmi (es. skype) dipendono da questo pacchetto e verrebbero rimossi anch’essi.
    Qualche idea su come procedere?
    Mille grazie, Andrea

  13. XaM e Andrea, il fatto è che avendo già installato le librerie ia32 è strano che sia necessario usare getlibs. Intanto reinstallate tale pacchetto e togliete l’eventuale link vecchio:

    sudo apt-get install --reinstall ia32-libs
    sudo rm /usr/lib32
    

    Dopo provate a seguire la guida da capo. Il primo comando ln dovrebbe andare a buon fine, al limite potrebbe fallire il secondo, sappiatemi dire.

  14. Io ho questo problema, ho seguito la guida passo passo:

    ~/.wine/drive_c/Games/World_of_Tanks$ wine WOTLauncher.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: impossibile aprire il file oggetto condiviso: Troppi livelli di collegamenti simbolici
    fixme:heap:HeapSetInformation 0x110000 0 0x31dcc4 4

    Suggerimenti?

  15. Non sono sicuro che la mia guida funzioni ancora su Ubuntu 12.10, comunque per far girare un gioco ti consiglio di usare PlayOnLinux.😉

  16. Per tutti coloro che avevano problemi con la guida: ho riscritto il post cambiando leggermente metodo, ora dovrebbe funzionarvi. Provate a seguire il post, e se per caso avete le ia32-libs installate, prima di effettuare la procedura reinstallatele.😉

  17. Ciao,
    da ignorante in materia, segnalo che il comando “cd gnome-keyring_3.6.2-0ubuntu1_i386/usr/lib/i386-linux-gnu/” mi da errore “bash: cd: gnome-keyring_3.6.2-0ubuntu1_i386/usr/lib/i386-linux-gnu/: File o directory non esistente
    “. Aggiungo che ho scaricato il pacchetto gnome-keyring_3.6.1-0ubuntu1.1_i386.deb”
    Claudio🙂

Che cosa ne pensi?

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...