Vai al contenuto

Quando Wine non trova gnome-keyring-pkcs11.so

27 agosto 2012

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.

About these ads
22 commenti leave one →
  1. XaM permalink
    2 ottobre 2012 9:01 pm

    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. 2 ottobre 2012 9:27 pm

    Prova a fare così:

    sudo mv /usr/lib32/i386-linux-gnu /usr/lib32/i386-linux-gnu.bak
    

    E poi rifai la guida. :)

  3. XaM permalink
    5 ottobre 2012 10:19 pm

    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.

  4. 6 ottobre 2012 10:31 am

    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.

  5. XaM permalink
    6 ottobre 2012 11:08 am

    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

  6. 6 ottobre 2012 11:14 am

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

    file /usr/lib32/i386-linux-gnu
    
  7. XaM permalink
    6 ottobre 2012 12:17 pm

    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.

  8. 6 ottobre 2012 12:21 pm

    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’è.

  9. XaM permalink
    6 ottobre 2012 12:28 pm

    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?

  10. 6 ottobre 2012 12:30 pm

    Rispondi sì (Y), dai che è la volta buona. :P

  11. XaM permalink
    6 ottobre 2012 1:35 pm

    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…

  12. 6 ottobre 2012 1:55 pm

    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.

  13. XaM permalink
    6 ottobre 2012 2:05 pm

    In sostanza dando wineboot dovrebbe succedere quanto descritto qui:

    https://user94.wordpress.com/2009/03/03/windows-live-messenger-2008-su-wine/

  14. 6 ottobre 2012 2:09 pm

    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.

  15. XaM permalink
    6 ottobre 2012 2:18 pm

    Infatti al tuo articolo ci sono arrivato a seguito dell’errore che ho riscontrato in wine…

  16. Andrea permalink
    23 ottobre 2012 1:39 pm

    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

  17. 23 ottobre 2012 5:00 pm

    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.

  18. surfing86 permalink
    2 dicembre 2012 4:47 pm

    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 0×110000 0 0x31dcc4 4

    Suggerimenti?

  19. 2 dicembre 2012 4:58 pm

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

  20. surfing86 permalink
    3 dicembre 2012 1:54 pm

    Io sto usando la 12.04 LTS

  21. 3 dicembre 2012 4:14 pm

    E dopo aver seguito la guida ti rimane ugualmente?

  22. 27 dicembre 2012 2:05 pm

    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. ;)

Che cosa ne pensi?

Fill in your details below or click an icon to log in:

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 )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 78 follower

%d bloggers like this: