# [risolto] che fine ha fatto il mio javaplugin_oji.so ???

## fbcyborg

Sono su un AMD64. Ho scaricato il file jre-1_5_0_05-linux-amd64.bin per poi effettuare l'installazione.

Solo che al momento di integrare il plugin nel browser firefox, all'interno della cartella del jre (/opt/sun-jre-bin-1.5.0.05)

non è presente il file javaplugin_oji.so di cui effettuare il link simbolico nella cartella dei plugin di firefox (/opt/firefox/plugins - ma ho anche la cartella /opt/netscape/plugins creata con l'emerge netscape-plugins per il plugin flash per il firefox).

Come si fa?

Di solito ci dovrebbe essere un percorso del tipo: /usr/java/jre/plugin/i386(amd64)/ns7/libjavaplugin_oji.so

Nella cartella /opt/sun-jre-bin-1.5.0.05/lib/amd64 ho i seguenti files .so e non saprei quale scegliere

```
libJdbcOdbc.so

libawt.so

libcmm.so

libdcpr.so

libdt_socket.so

libfontmanager.so

libhprof.so

libinstrument.so

libioser12.so

libjaas_unix.so

libjava.so // provato ma non funziona

libjava_crw_demo.so

libjawt.so

libjdwp.so

libjpeg.so

libjsig.so

libjsound.so

libjsoundalsa.so

libmanagement.so

libmlib_image.so

libnative_chmod.so

libnet.so

libnio.so

librmi.so

libunpack.so

libverify.so

libzip.so

```

ciaociao

----------

## .:chrome:.

perché cerchi in /lib? dovrebbe essere in /plugin, no?

----------

## fbcyborg

Hai ragione infatti! DOVREBBE! ma non c'è!!!!

sembra che la versione a 64 bit sia diversa:

```

# ls -l /opt/sun-jre-bin-1.5.0.05/

total 2

drwxr-xr-x   2 root root  368 Oct 21 21:13 bin

drwxr-xr-x  14 root root 1816 Oct 21 21:13 lib

drwxr-xr-x   4 root root  128 Oct 21 21:13 man

-------------------------

# ls -l /opt/sun-jre-bin-1.5.0.05/bin/

total 948

-rwxr-xr-x  1 root root 65560 Oct 21 21:13 java

-rwxr-xr-x  1 root root 79232 Oct 21 21:13 keytool

-rwxr-xr-x  1 root root 79264 Oct 21 21:13 kinit

-rwxr-xr-x  1 root root 79264 Oct 21 21:13 klist

-rwxr-xr-x  1 root root 79264 Oct 21 21:13 ktab

-rwxr-xr-x  1 root root 79456 Oct 21 21:13 orbd

-rwxr-xr-x  1 root root 79328 Oct 21 21:13 pack200

-rwxr-xr-x  1 root root 79600 Oct 21 21:13 policytool

-rwxr-xr-x  1 root root 79232 Oct 21 21:13 rmid

-rwxr-xr-x  1 root root 79232 Oct 21 21:13 rmiregistry

-rwxr-xr-x  1 root root 79264 Oct 21 21:13 servertool

-rwxr-xr-x  1 root root 79488 Oct 21 21:13 tnameserv

---------------------------------------------------------------------------------

# ls -l /opt/sun-jre-bin-1.5.0.05/lib

total 43983

drwxr-xr-x   7 root root     1152 Oct 21 21:13 amd64

drwxr-xr-x   2 root root       48 Oct 21 21:13 applet

drwxr-xr-x   2 root root       80 Oct 21 21:13 audio

-rw-r--r--   1 root root  8510924 Oct 21 21:13 charsets.jar

-rw-r--r--   1 root root    76375 Oct 21 21:13 classlist

drwxr-xr-x   2 root root      184 Oct 21 21:13 cmm

-r--r--r--   1 root root     5874 Oct 21 21:13 content-types.properties

drwxr-xr-x   2 root root      152 Oct 21 21:13 ext

-r--r--r--   1 root root     3878 Oct 21 21:13 flavormap.properties

-r--r--r--   1 root root     5438 Oct 21 21:13 fontconfig.RedHat.2.1.bfc

-r--r--r--   1 root root     9060 Oct 21 21:13 fontconfig.RedHat.2.1.properties.src

-r--r--r--   1 root root     5720 Oct 21 21:13 fontconfig.RedHat.3.bfc

-r--r--r--   1 root root    10990 Oct 21 21:13 fontconfig.RedHat.3.properties.src

-r--r--r--   1 root root     7196 Oct 21 21:13 fontconfig.RedHat.8.0.bfc

-r--r--r--   1 root root    16286 Oct 21 21:13 fontconfig.RedHat.8.0.properties.src

-r--r--r--   1 root root     5728 Oct 21 21:13 fontconfig.RedHat.9.0.bfc

-r--r--r--   1 root root    11029 Oct 21 21:13 fontconfig.RedHat.9.0.properties.src

-r--r--r--   1 root root     4494 Oct 21 21:13 fontconfig.RedHat.bfc

-r--r--r--   1 root root     8814 Oct 21 21:13 fontconfig.RedHat.properties.src

-r--r--r--   1 root root     1678 Oct 21 21:13 fontconfig.SuSE.bfc

-r--r--r--   1 root root     1972 Oct 21 21:13 fontconfig.SuSE.properties.src

-r--r--r--   1 root root     7188 Oct 21 21:13 fontconfig.Sun.2003.bfc

-r--r--r--   1 root root    13601 Oct 21 21:13 fontconfig.Sun.2003.properties.src

-r--r--r--   1 root root     7450 Oct 21 21:13 fontconfig.Sun.bfc

-r--r--r--   1 root root    16631 Oct 21 21:13 fontconfig.Sun.properties.src

-r--r--r--   1 root root     4114 Oct 21 21:13 fontconfig.Turbo.8.0.bfc

-r--r--r--   1 root root     6086 Oct 21 21:13 fontconfig.Turbo.8.0.properties.src

-r--r--r--   1 root root     4668 Oct 21 21:13 fontconfig.Turbo.bfc

-r--r--r--   1 root root     9233 Oct 21 21:13 fontconfig.Turbo.properties.src

-r--r--r--   1 root root     1678 Oct 21 21:13 fontconfig.bfc

-r--r--r--   1 root root     1973 Oct 21 21:13 fontconfig.properties.src

drwxr-xr-x   2 root root      416 Oct 21 21:13 fonts

drwxr-xr-x   2 root root      112 Oct 21 21:13 im

drwxr-xr-x   3 root root       72 Oct 21 21:13 images

-r--r--r--   1 root root    81799 Oct 21 21:13 jce.jar

-rw-r--r--   1 root root   493381 Oct 21 21:13 jsse.jar

-r--r--r--   1 root root     2808 Oct 21 21:13 jvm.hprof.txt

-r--r--r--   1 root root     2245 Oct 21 21:13 logging.properties

drwxr-xr-x   2 root root      208 Oct 21 21:13 management

-r--r--r--   1 root root     2682 Oct 21 21:13 net.properties

drwxr-xr-x   2 root root      264 Oct 21 21:13 oblique-fonts

-r--r--r--   1 root root     3070 Oct 21 21:13 psfont.properties.ja

-r--r--r--   1 root root    10669 Oct 21 21:13 psfontj2d.properties

-rw-r--r--   1 root root 35568343 Oct 21 21:13 rt.jar

drwxr-xr-x   2 root root      208 Oct 21 21:13 security

-r--r--r--   1 root root     1210 Oct 21 21:13 sound.properties

drwxr-xr-x  12 root root      456 Oct 21 21:13 zi

-------------------------------------------------------------------------------------------------

# ls -l /opt/sun-jre-bin-1.5.0.05/man/

+total 0

lrwxrwxrwx  1 root root  11 Oct 21 21:13 ja -> ja_JP.eucJP

drwxr-xr-x  3 root root  72 Oct 21 21:13 ja_JP.eucJP

drwxr-xr-x  2 root root 464 Oct 21 21:13 man1

```

That's all!!!

----------

## .:chrome:.

che cosa strana... mi sarei aspettato che java fosse identico per ogni architettura.

hai provato anche con blackdown?

----------

## fbcyborg

si è molto strano in effetti...

cmq ho provato ad installare il blackdown. A parte che non è fornita la versione 1.5, e quindi mi scoccia un po', adesso il file .so esiste nella cartella plugins. Il fatto è che dopo aver creato il link simbolico per firefox, non funziona assolutamente, e mi chiede di scaricare il plugin java quando ci sono applet...

allora mi viene il dubbio che forse è necessario compilare il firefox, invece di installarlo dai binari, includendo la USE flag "java". Anche se ciò mi sembra strano.... ti pare logico che un browser non sia compilato con il supporto per java?

----------

## .:chrome:.

allora... due osservazioni:

1 - sei sicuro che ti serva la versione 1.5? dal punto di vista del normale utente non porta grandi novità (praticamente niente) e se è hard-masked c'è un pttimo motivo

2 - hai usato (sia con Sun che con blackdown) la use nsplugin? direi di no, perché poi sei andat a fare il link a mano

----------

## fbcyborg

 *k.gothmog wrote:*   

> allora... due osservazioni:
> 
> 1 - sei sicuro che ti serva la versione 1.5? dal punto di vista del normale utente non porta grandi novità (praticamente niente) e se è hard-masked c'è un pttimo motivo

 

Non che mi serva necessariamente... solo che mi sembra che la versione 1.5 abbia una grafica un po' più carina.. cmq va bene anche la 1.4.2

 *Quote:*   

> 
> 
> 2 - hai usato (sia con Sun che con blackdown) la use nsplugin? direi di no, perché poi sei andat a fare il link a mano

 

No, infatti. La use nsplugin non c'è nel make.conf.

Cmq il problema è rimasto.. Ho dubbi su quale sia il vero file .so da linkare, e su quale sia la vera dir dei plugin di firefox..... non so, in passato ho sempre avuto successo con questo tipo di operazione, quando ero su debian... ora quì sulla versione a 64 bit, e su gentoo le cose sembrano un po' diverse...

----------

## .:chrome:.

il problema non è legato alla grafica, ma all'architettura interna della VM, che è stata riscritta in buona parte, con la versione 1.5 (si parla infatti di java 5).

se mi permetti una considerazione personalissima, scegliere una versione piuttosto che un'altra basandosi sulla grafica mi pare un metodo abbastanza stupido. piuttosto fidati di quello che fanno i mantainer, che non sono proprio gli ultimi arrivati, e tieni la versione stabile in portage.

quanto al link, se metti la use nsplugin in package.use (non in make.conf, visto che è inutile per praticamente tutto il sistema) si arrangia lui a fare il link al file giusto nella posizione giusta. è la soluzione più semplice, e poi... insomma... l'hanno inventata apposta quella flag  :Smile: 

minimizzi i problemi e massimizzi il risultato

----------

## gutter

 *k.gothmog wrote:*   

> 
> 
> quanto al link, se metti la use nsplugin in package.use (non in make.conf, visto che è inutile per praticamente tutto il sistema) si arrangia lui a fare il link al file giusto nella posizione giusta. è la soluzione più semplice, e poi... insomma... l'hanno inventata apposta quella flag 
> 
> minimizzi i problemi e massimizzi il risultato

 

Aggiungerei solo che: in questo modo eviti di ricreare il link a mano per ogni nuova VM che installi  :Wink: 

----------

## fbcyborg

Ricapitolando:

è sufficiente inserire la flag use in package.use (dov'è questo file? non lo trovo)

riemergere il pacchetto e il gioco è finito ?

----------

## gutter

```
man portage
```

----------

## Luca89

Il file /etc/portage/package.use devi crearlo a mano oppure puoi farti aiutare da flagedit.  :Wink: 

```
 app-portage/flagedit

     Available versions:  0.0.2 [M]0.0.3 [M]0.0.4 0.0.5

     Installed:           0.0.5

     Homepage:            http://damz.net/flagedit/

     Description:         CLI use flags and keyword editor, for system wide or /etc/portage files

```

----------

## .:chrome:.

[OT] io ho provato flagedit-0.2 ma se ne frega bellamente dei vari /etc/portage/package.* e mette tutte le flag in make.conf

non mi pare una cosa molto furbe né utile.[/OT]

@fbcyborg:

come ti ha detto gutter è tutto scritto nella man di portage: ocsa è il file, dove va, a cosa serve, e cosa ci deve essere dentro.

per il resto, direi che hai afferrato perfettamente il concetto.

se ti interessa saperlo... io prima di qualsiasi emerge faccio prima un emerge -ptv, in modo da vedere sempre le flag che un pacchetto supporta, e poi me le vado a vedere sulla documentazione

----------

## fbcyborg

ok, ma:

```
- app-portage/flagedit-0.0.2 (masked by: missing keyword)
```

se non ho la keyword....  come lo smaschero il pacchetto?

----------

## fbcyborg

 *k.gothmog wrote:*   

> [OT] io ho provato flagedit-0.2 ma se ne frega bellamente dei vari /etc/portage/package.* e mette tutte le flag in make.conf
> 
> non mi pare una cosa molto furbe né utile.[/OT]
> 
> @fbcyborg:
> ...

 

OK, tutto chiaro spero di riuscirci!!!

----------

## Luca89

 *k.gothmog wrote:*   

> [OT] io ho provato flagedit-0.2 ma se ne frega bellamente dei vari /etc/portage/package.* e mette tutte le flag in make.conf
> 
> non mi pare una cosa molto furbe né utile.[/OT]

 

Non mi pare:

```

Panther ~ # cat /etc/portage/package.use | grep k3b

app-cdr/k3b -hal

Panther ~ # flagedit app-cdr/k3b +arts

Panther ~ # cat /etc/portage/package.use | grep k3b

app-cdr/k3b -hal arts

Panther ~ #

```

 :Wink: 

P.S: Ho la 0.0.5 però

----------

## fbcyborg

non ci sto capendo molto...

EDIT:  ho fatto

```
touch /etc/portage/package.use

ho inserito la stringa nsplugins nel file

emerge blackdown-jre
```

risultato: Plugin ancora non funzionante...

forse ho capito male

----------

## .:chrome:.

 *Luca89 wrote:*   

> Non mi pare:

 

forse hanno sistemato la cosa con la 0.5. io avevo provato la 0.2

@fbcyborg:

ok, mi arrendo  :Very Happy: 

package.use è un file dove in sostanza specifichi tutte le useflag per ogni pacchetto. è una news introdotta dalle ultime versioni di portage, perché effettivamente mettere tutto in make.conf non è proprio il massimo e può portare a qualche problemino (cerca sul forum, se n'è parlato una vita)

la sintassi del file è "categoria/pacchetto use"

nel tuo caso specifico dovrai mettere una riga come questa: dev-java/sun-jdk nsplugin

puoi mettere più di una flag. il nome secco vuol dire "includimi questa", e se ci metti un meno davanti vuol dire "escludimi quest'altra", come in male.conf

quando hai fatto questa roba, dai un emerge -uDN, dove -N è la forma contratta di --newuse

se osservi l'output di emerge vedrai che a un certo punto creerà il link simbolico in /opt/netscape/plugins/

alla fine per verificare che sa tutto a posto digita about:plugins nella barra dell'indirizzo del tuo browser

----------

## fbcyborg

ok grazie...

e se facessi 

```
USE="nsplugins" emerge blackdown-jre
```

 ?????

non è che facendo emerge -uDN poi mi ricompila tutto il sistema e ci mette una giornata intera?

----------

## .:chrome:.

se metti USE=... funziona, però ovviamente quando uscirà l'aggiornamento se non ti ricordi di riscriverlo non viene aggiornato il plugin, anzi... facilmente verrà cancellato quello che hai.

emerge -uDN ovviamente deve essere seguito da un parametro. se il parametro è world il sistema ricompilerà tutti i pacchetti che possiedono quella USEflag (che sono comunque pochi, quindi sarebbe questione di pochissimo tempo)

se l'hai abilitata per un solo pacchetto, come ti ho suggerito, ovviamente non influirà sugli altri.

mia piccola opinione personale: io spacciugo con le flag, e quando faccio gli aggiornamenti metto sempre il -N. non costa niente e mantiene il sistema aggiornato sotto ogni possibile aspetto

----------

## fbcyborg

ho provato a fare nei vari modi che mi avete indicato, ma nulla di fatto...

su http://www.gentoo.org/doc/it/gentoo-amd64-faq.xml ho trovato una cosa.. dovrei fare:

```
ln -s /opt/blackdown-jre-*/plugin/amd64/mozilla/libjavaplugin_oji.so /usr/lib64/nsbrowser/plugins/libjavaplugin_oji.so
```

ma io non ho la cartella /usr/lib64/nsbrowser/plugins 

questo mi fa pensare che forse invece di installare firefox dai pacchetti binari dovrei compilarlo... (d'accordo anche voi?)

e magari con la use flag java.[/quote]

----------

## .:chrome:.

beh... se hai installato firefox binario è possibile che non sia a 64 bit.

banalmente, invece che fare il link in /usr/lib64 fallo in /usr/lib

----------

## fbcyborg

ci avevo già provato, ma non ha funzionato

----------

## .:chrome:.

hai provato a fare il link in /opt/netscape/plugins/ come ti avevo suggerito?

hai provato anche ad avviare il browser da linea di comnado per vedere eventuali errori riportati?

----------

## fbcyborg

si, ci ho provato, ed effettivamente il link simbolico è in entrambe le cartelle...

cmq l'errore riportato è:

```
# firefox

No running windows found

LoadPlugin: failed to initialize shared library /opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so [/opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so: cannot open shared object file: No such file or directory]

LoadPlugin: failed to initialize shared library /opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so [/opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so: cannot open shared object file: No such file or directory]

```

----------

## .:chrome:.

questo cambia molto le cose. l'errore non è nel link, ma nel file.

assicurati che il file esista, e poi fai 

```
ldd /opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so
```

----------

## fbcyborg

si, il file esiste....

```
# ldd /opt/blackdown-jre-1.4.2.02/plugin/amd64/mozilla/libjavaplugin_oji.so

        libXt.so.6 => /usr/lib/libXt.so.6 (0x00002aaaaac00000)

        libX11.so.6 => /usr/lib/libX11.so.6 (0x00002aaaaad63000)

        libdl.so.2 => /lib/libdl.so.2 (0x00002aaaaaf44000)

        libc.so.6 => /lib/libc.so.6 (0x00002aaaab047000)

        libSM.so.6 => /usr/lib/libSM.so.6 (0x00002aaaab269000)

        libICE.so.6 => /usr/lib/libICE.so.6 (0x00002aaaab373000)

        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)

```

----------

## fbcyborg

Ho anche ricompilato il mozilla-firefox....

```
USE="blackdown-jre mozilla" emerge firefox
```

ma ... niente.

----------

## .:chrome:.

 *fbcyborg wrote:*   

> USE="blackdown-jre"

 

quella flag non esiste

fai una cosa... installa il JDK Sun (la versione 1.4 va benissimo)

l'ebuild non fa il fetch. a questo punto vai tu a prenderti il file del JDK compilato per AMD64 che di sicuro funziona.

mi viene però un dubbio, adesso... non è che hai combinato casini con java-config, vero?

----------

## fbcyborg

ok, non esiste... cmq...

adesso che ho ricompilato alla fine sono riuscito a risolvere....

poi ho seguito l'indicazione http://www.gentoo.org/doc/it/gentoo-amd64-faq.xml#java

prima non avevo la cartella /usr/lib64/mozilla-firefox/

----------

## .:chrome:.

alla faccia... te l'hanno proprio fatto partorire, quel plugin  :Very Happy: 

----------

## fbcyborg

tutto è bene quel che finisce bene!!!  :Very Happy: 

hehe

in effetti me la sono sudata!

----------

