JAVA ed LD_LIBRARY_PATH

4 risposte [Ultimo contenuto]
Ritratto di paco_deb
paco_deb
(Geek)
Offline
Geek
Iscritto: 25/10/2007
Messaggi: 152

Ciao a tutti.
Sto utilizzando le api JMF per creare un player in java.
per l'esecuzione di programmi che utilizzano queste api è necessario, prima di eseguire il software, inserire il percorso delle librerie JMF all'interno della variabile d'ambiente LD_LIBRARY_PATH.

Il mio problema è che avrei bisogno di settare tale variabile GLOBALMENTE, per tutti gli utenti, senza la necessità che ogni utente debba settare tale variabile localmente nei propri file di configurazione.

Inizialmente ho tentato di impostare la variabile in /etc/profile, ma stranamente tutte le variabili impostate del file vengono estese agli utenti ad eccezzione di LD_LIBRARY_PATH; girando su google mi è sembrato di capire che questo è un comportamento voluto, anche se non riesco a capirne il motivo.

Ho provato quindi ad inserire il path in /etc/ld.so.conf e successivamente ho dato ldconfig ma Java non ne vuole sapere, ha la necessità che tale percorso dia inserito proprio in quella variabile d'ambiente.

Qualcuno di voi ha suggerimenti?

ciao e grazie

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Mah, non capisco perche' non ti funzioni.... Io ho appena fatto una prova con una Debian stable e funziona perfettamente.

La cosa potrebbe dipendere al modo con cui apri la shell. Prova a mettere la stessa variabile anche in /etc/bash.bashrc e riprova.

La faccenda del comportamento voluto mi sembra alquanto strana...

Pietro

Debian. Be unique.

Ritratto di paco_deb
paco_deb
(Geek)
Offline
Geek
Iscritto: 25/10/2007
Messaggi: 152

Stranamente usando bash.bashrc la variabile viene esportata.
Resterebbe da capire perchè /etc/profile non funziona

Comunque per me è risolto
Grazie

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Funziona anche con /etc/profile: prova ad effettuare un accesso remoto alla macchina via ssh e vedrai che le variabili vengono esportate correttamente (e tra l'altro non vedi quelle del bashrc...)

La cosa migliore e' impostarle in entrambi i file.

Ciao

Pietro

Debian. Be unique.

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Quando bash è invocata come shell di login, legge ed interpreta i file "profile", quando invocata come shell non di login, i file "bashrc".

Probabilmente questa scelta aveva un senso anni fa. Oggi è un po' strana e infatti è prassi comune mettere tutte le impostazioni in uno dei due file e ridurre il secondo ad un semplice "source" del primo.