sabato 16 luglio 2011

JDownloader: Could not initialize NSS

Se usate JDownloader sotto Debian o Ubuntu con Java 6, dopo un dist-upgrade di questi giorni puo' capitare che non si riesca piu' a farlo partire.

Se proviamo a farlo partire da riga di comando otteniamo questo errore:
Exception in thread "AWT-EventQueue-0" java.security.ProviderException: Could not initialize NSS


e, piu' in basso, possiamo notare questa interessante riga:
Caused by: java.io.FileNotFoundException: /usr/lib/libnss3.so


Evidentemente, a causa di un bug, java non riesce piu' a trovare la libreria /usr/lib/libnss3.so, che in effetti non risulta essere in quella cartella.

La soluzione e' all'interno del file /etc/java-6-openjdk/security/nss.cfg, ma prima dobbiamo controllare in quale cartella e' contenuta la libreria che cerchiamo (puo' variare a seconda della distro linux).


Apriamo una finestra di terminale e digitiamo
locate libnss3.so


io, ad esempio, ho ottenuto questo risultato:
/usr/lib/firefox/libnss3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/lib/i386-linux-gnu/libnss3.so.1d



e' evidente che, nel mio caso,  il percorso che mi interessa e' il secondo, quindi lo selezioniamo e lo copiamo.


Ora possiamo andare a modificare il file nss.cfg, ma prima creiamo una copia di sicurezza:
sudo cp /etc/java-6-openjdk/security/nss.cfg /etc/java-6-openjdk/security/nss.cfg.old


quindi possiamo editarlo con
gksu gedit /etc/java-6-openjdk/security/nss.cfg


la riga che ci interessa e' questa
nssLibraryDirectory = /usr/lib/


che io ho sostituito con
nssLibraryDirectory = /usr/lib/i386-linux-gnu/

e che voi sostituirete indicando il percorso copiato prima (senza la parte finale "libnss3.so", a noi interessa solo indicare il percorso dove trovarlo).

Salvate nss.cfg e lanciate JDownloader, che riprendera' a funzionare.

Nessun commento:

Posta un commento