# [Risolto] Upgrade Java (VM per generation-{1,2})

## ChobinYY

Mi da questo errore, ma non so a cosa sia dovuto, ho provato a impostare tutto con java-config-1 ecc ma niente   :Sad:   :Sad: 

Calculating dependencies... done!

>>> Emerging (1 of 17) dev-java/ant-core-1.6.2-r5 to /

>>> checking ebuild checksums  :Wink: 

>>> checking auxfile checksums  :Wink: 

>>> checking miscfile checksums  :Wink: 

>>> checking apache-ant-1.6.2-src.tar.bz2  :Wink: 

 * Enabling generation-2 compatibility ...

 * There was a problem determining which VM to use for generation-1

 * You may need to set your generation-1 VM again, and run env-update && source/etc/profile

 * Also, make sure you have followed the Java Upgrade Guide:

 * http://www.gentoo.org/proj/en/java/java-upgrade.xml                    [ !! ]

!!! ERROR: dev-java/ant-core-1.6.2-r5 failed.

Call stack:

  ebuild.sh, line 1555:   Called dyn_setup

  ebuild.sh, line 668:   Called pkg_setup

  ebuild.sh, line 1248:   Called java-pkg_pkg_setup

  java-pkg.eclass, line 41:   Called die

!!! Couldn't determine VM for generation-1

!!! If you need support, post the topmost build error, and the call stack if relevant.Last edited by ChobinYY on Mon Jul 17, 2006 8:59 pm; edited 1 time in total

----------

## !equilibrium

ti dice che non hai una JDK della serie 1.4.x (VM generazione 1) installata e probabilmente hai solo una JDK della serie 1.5.x (VM generazione 2); emergi una JDK 1.4.x a seconda delle tue esigenze (blackdown, sun, ibm ecc ecc).

con le nuove politiche di gentoo, bisogna avere entrambe le JDK per poter compilare/eseguire tutti i software java presenti in portage.

/EDIT:

Gentoo Java Upgrade Guide

```
Why can't I use a 1.5 JDK for the generation-1 system VM?

By having a 1.5 JDK as the generation-1 system VM, we will encounter all the problems that caused the package.mask in the first place.

While some people may have been using 1.5 as their system VM without issue, there are still issues with a number of packages with issues. Essentially, we're requiring a 1.4 JDK because that is sure to work with every Java package that haven't been switched over to the new system.
```

----------

## comio

 *!equilibrium wrote:*   

> ti dice che non hai una JDK della serie 1.4.x (VM generazione 1) installata e probabilmente hai solo una JDK della serie 1.5.x (VM generazione 2); emergine una a seconda delle tue esigenze.
> 
> con le nuove politiche di gentoo, bisogna avere entrambe le JDK per poter compilare/eseguire tutti i software java presenti in portage.

 

prova a fare un

```

emerge "<jdk-1.5"

```

ciao

----------

## !equilibrium

 *comio wrote:*   

> prova a fare un
> 
> ```
> 
> emerge "<jdk-1.5"
> ...

 

il risultato è questo:

```
Calculating dependencies... done!

[ebuild  N    ] virtual/jdk-1.4.2  0 kB

Total size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]
```

ma non riesco a comprendere il significato del tuo discorso.

----------

## Ic3M4n

 *emerge wrote:*   

> >>> Emerging (1 of 17) dev-java/ant-core-1.6.2-r5 to /
> 
> >>> checking ebuild checksums 
> 
> >>> checking auxfile checksums 
> ...

 

Ã¨ tutto scritto sul messaggio di errore. basta aprire il link e seguire le istruzioni. praticamente Ã¨ stato reso disponibile java5 in maniera trasparente per l'utente. se uno ne ha bisogno deve semplicemente seguire la giuda per l'aggiornamento.

----------

## ChobinYY

Ho seguito la guida, ma niente sempre il solito errore, ho messo JDK della serie 1.4 e mi da sempre il solito errore  :Sad: 

----------

## !equilibrium

controlla eventuali problemi con  /usr/bin/java-check-environment

----------

## ChobinYY

* === Java Environment Checker ===

 * The purpose of this script is to check the sanity of your Java Environment.

 * We have significantly changed and improved the way Java is handled in many respects.

 * Please refer to http://www.gentoo.org/proj/en/java/java-upgrade.xml for details

 * Checking vm_environment_files ...

 * Generation-1 configuration files were found in /etc/env.d/java

 * Please run the following to remove them:

# rm /etc/env.d/java/20blackdown-jdk-1.4.2.03 /etc/env.d/java/20blackdown-jre-1.4.2.03 /etc/env.d/java/20sun-jre-bin-1.5.0.06

 * You must then update your VMs to Generation-2 by running:

# emerge -atv =blackdown-jdk-1.4* =blackdown-jre-1.4* =sun-jre-bin-1.5*

 * If you've done this already, but java-check-environment

 * still prompts you to emerge the same things, be sure that

 * you have the latest version of each package unmasked and

 * keyworded properly.                                                    [ !! ]

 * Some problems were found. Please follow the instructions above, and rerun java-check-environment

----------

## ChobinYY

quando faccio rm /etc/env.d/java/20blackdown-jdk-1.4.2.03 /etc/env.d/java/20blackdown-jre-1.4.2.03 /etc/env.d/java/20sun-jre-bin-1.5.0.06

si sistema ma poi ovviamente non trova niente dopo  :Sad:   :Sad: 

appena rifaccio emerge -atv =blackdown-jdk-1.4* =blackdown-jre-1.4* =sun-jre-bin-1.5*

torna tutto come prima  :Sad: 

----------

## Wise

Ciao

che versione installi di blackdown-jdk ecc..?

tu stai usando la la nuova modalita di configurazione.. quindi perchè tutto vada bene

dovrebbe essere la blackdown-jdk-1.4.2.03-r12...

poi il se installi il jdk non serve il jre.. che dovrebbe essere gia incluso..(alemno per il sun-jdk è cosi..)

quindi puoi fare al meno di installare blackdown-jre

spero di esserti stato utile!

----------

## comio

 *ChobinYY wrote:*   

> quando faccio rm /etc/env.d/java/20blackdown-jdk-1.4.2.03 /etc/env.d/java/20blackdown-jre-1.4.2.03 /etc/env.d/java/20sun-jre-bin-1.5.0.06
> 
> si sistema ma poi ovviamente non trova niente dopo  
> 
> appena rifaccio emerge -atv =blackdown-jdk-1.4* =blackdown-jre-1.4* =sun-jre-bin-1.5*
> ...

 

prova ad installare così:

```

emerge "<jdk-1.5" jdk

```

così metti il pacchetto virtual.

ciao

----------

## ChobinYY

 *Wise wrote:*   

> Ciao
> 
> che versione installi di blackdown-jdk ecc..?
> 
> tu stai usando la la nuova modalita di configurazione.. quindi perchè tutto vada bene
> ...

 

era proprio questo   :Smile:   :Smile:   io avevo la versione 1.4.2.03, appena ho messo la r12 è partito tutto

ti ringrazio.

ringrazio tutti per la mano   :Wink: 

----------

## Cadoro

Ho installaro per la prima volta su questa macchina le jdk1.5 seguendo la guida http://www.gentoo.org/proj/en/java/java-upgrade.xmlma  solo in parte, poichè  non era un aggiornamento.

Comunque con eselect o java-config, ma questo solo su generation 2(penso sia ovvio), riesco a trovare la VM

```
 *) Sun JDK 1.5.0.07 [sun-jdk-1.5] (/usr/share/java-config-2/vm/sun-jdk-1.5)

```

e questo per fortuna mi permette di di compilare e di far girare cmq da shell programmi.

Ora ho provato a installare eclipse ma magari anche il supporto java per emacs ma entrambi mi restituiscono lo stesso di errore, che presumo sia di configuarazione 

```
 * There was a problem determining which VM to use for generation-1

 * You may need to set your generation-1 VM again, and run env-update && source/etc/profile

 * Also, make sure you have followed the Java Upgrade Guide:

 * http://www.gentoo.org/proj/en/java/java-upgrade.xml                                                                                               [ !! ]

!!! ERROR: dev-java/ant-core-1.6.2-r5 failed.

Call stack:

  ebuild.sh, line 1555:   Called dyn_setup

  ebuild.sh, line 668:   Called pkg_setup

  ebuild.sh, line 1248:   Called java-pkg_pkg_setup

  java-pkg.eclass, line 51:   Called die

!!! Expected VMHANDLE to be defined in the env, but it wasn't

!!! If you need support, post the topmost build error, and the call stack if relevant.

```

Ma infatti me n'ero accorto che il listato di generation-1 dato da java-config-1 -l era vuoto e ho anche rieseguito l'intera installazione e seguendo il link dato dall'ebuild ma cmq niente ho sempre la generation1.

Ma pensavo che siccome il mio non era un ggiornamento ma  una nuova nstallazione delle jdk1.50 mi installasse direttamente la generatione 2 e così è stato....!!!Ma che devo fare oltre al java-config1 e javaconfig2 devo installare una jdk 1.5 e una inferiore???!!!Last edited by Cadoro on Sun Jul 23, 2006 9:33 pm; edited 1 time in total

----------

## gutter

Non tutti gli ebuild supportano la generation 2 quindi devi configurarle entrambe.

----------

## Cadoro

quindi dovrei installare due jdk?

Si tutto ok infatti.....molti degli ebuild per gli ambienti di sviluppo supportano soltanto jdk precedenti.Quindi ho installato l'ultima dipsonibile jdk 1.4.2.12 per la 1e la 1.5(decisamente meglio) per la seconda effettivamente qui  http://gentoo-wiki.com/Java_Installation_Help se ne parla..

----------

## gutter

 *Cadoro wrote:*   

> quindi dovrei installare due jdk?
> 
> 

 

Esattamente  :Smile: 

----------

## canduc17

Ciao a tutti.

Io ho installato sul mio sistema il sun-jdk-1.5, ma non riesco ad emergere tomcat 5.5.

L'errore che mi dà è

```
Calculating dependencies... done!

>>> Emerging (1 of 92) dev-java/jakarta-regexp-1.3-r2 to /

>>> checking ebuild checksums ;-)

>>> checking auxfile checksums ;-)

>>> checking miscfile checksums ;-)

>>> checking jakarta-regexp-1.3.tar.gz ;-)

 * Enabling generation-2 compatibility ...

 * There was a problem determining which VM to use for generation-1

 * You may need to set your generation-1 VM again, and run env-update && source/etc/profile

 * Also, make sure you have followed the Java Upgrade Guide:

 * http://www.gentoo.org/proj/en/java/java-upgrade.xml                                                                                                [ !! ]

!!! ERROR: dev-java/jakarta-regexp-1.3-r2 failed.

Call stack:

  ebuild.sh, line 1555:   Called dyn_setup

  ebuild.sh, line 668:   Called pkg_setup

  ebuild.sh, line 1248:   Called java-pkg_pkg_setup

  java-pkg.eclass, line 41:   Called die

!!! Couldn't determine VM for generation-1

!!! If you need support, post the topmost build error, and the call stack if relevant.
```

Allora sono andato a leggermi la guida menzionata e ho cercato di impostare la virtual machine:

```
candooc canduc # java-config --list-available-vms

*) Sun JDK 1.5.0.07 [sun-jdk-1.5] (/usr/share/java-config-2/vm/sun-jdk-1.5)

2) Sun JRE 1.5.0.07 [sun-jre-bin-1.5] (/usr/share/java-config-2/vm/sun-jre-bin-1.5)
```

e poi 

```
candooc canduc # java-config-1 --set-system-vm sun-jdk-1.5

jc_options: VM not found, use --list-available-vms

```

Che fare???

----------

## rivent

devi installare anche jdk 1.4 per la generazione 1.

----------

## Sparker

Praticamente tutte le dipendenze di tomcat verranno compilate con il jdk-1.4.

E poichè non tutti i pacchetti sono stati portati al nuovo sistema potresti avere delle incongruenze.

Ti consiglio di installare tutto con la jdk-1.4 e poi usare la 1.5 per l'esecuzione

----------

## topper_harley

Nonostante blackdown-jre e blackdown-jdk siano stai emersi correttamente il mio sistema non riesce a trovare una vm, e tutti gli emerge riguardanti programmi dipendenti da java falliscono.

```
localhost ~ # java-check-environment 

 * === Java Environment Checker ===

 * The purpose of this script is to check the sanity of your Java Environment.

 * We have significantly changed and improved the way Java is handled in many respects.

 * Please refer to http://www.gentoo.org/proj/en/java/java-upgrade.xml for details

 * Checking vm_environment_files ...

 * Generation-1 configuration files were found in /etc/env.d/java

 * Please run the following to remove them:

# rm /etc/env.d/java/20blackdown-jdk-1.4.2.03 /etc/env.d/java/20blackdown-jre-1.4.2.03

 * You must then update your VMs to Generation-2 by running:

# emerge -atv =blackdown-jdk-1.4* =blackdown-jre-1.4*

 * If you've done this already, but java-check-environment

 * still prompts you to emerge the same things, be sure that

 * you have the latest version of each package unmasked and

 * keyworded properly.                                                                                                 [ !! ]

 * Some problems were found. Please follow the instructions above, and rerun java-check-environment

```

Ho seguito queste istruzioni ma non cambia nulla.

```
localhost ~ # java-config-2 -l

!!! ERROR: The active vm could not be found

```

I pachhetti sembrano installati:

```
* dev-java/blackdown-jdk 

     Available versions:  1.3.1-r8 [M]1.3.1-r10 ~1.3.1-r23 1.4.1-r1 ~1.4.1-r12 1.4.2.03 ~1.4.2.03-r2 ~1.4.2.03-r12

     Installed:           1.4.2.03

     Homepage:            http://www.blackdown.org

     Description:         Blackdown Java Development Kit

* dev-java/blackdown-jre 

     Available versions:  [M]1.3.1-r9 *1.3.1-r20 1.4.1-r1 ~1.4.1-r12 1.4.2.03 ~1.4.2.03-r2 ~1.4.2.03-r11

     Installed:           1.4.2.03

     Homepage:            http://www.blackdown.org

     Description:         Blackdown Java Runtime Environment

```

Come posso fare?

----------

## lavish

[MOD]

Fatto il merge del thread aperto da Cadoro

Fatto il merge del thread aperto da canduc17

Fatto il merge del thread aperto da topper_harley

Rinominato il titolo del thread in qualcosa di più specifico

-- grazie ad !equilibrium per la segnalazione  :Wink: 

[/MOD]

----------

## !equilibrium

 *topper_harley wrote:*   

> 
> 
> Ho seguito queste istruzioni ma non cambia nulla.
> 
> ```
> ...

 

devi avere entrambe le JDK (serie 1 e serie 2) installate e selezionate correttamente:

- con java-config-1 -s seleziona il JDK della blackdown

- smaschera e installa l'ultima versione disponibile di sun-jdk

- con java-config-2 -s seleziona il JDK della sun

- rilancia java-check-environment

----------

## lavish

Splittato il thread di canduc17 qui: https://forums.gentoo.org/viewtopic-t-483418.html

----------

## makaveli87

So che ci sono già topic su questo argomento.. ma non ne ho trovato manco uno in cui ci fosse il mio problema identico.. inoltre alcuni hanno già la tag risolto.. quindi apro la discussione...

Ho seguito la guida di aggiornamento di Java.. e fin li tutto bene, la VM viene riconosciuta eccetera eccetera...

Ora.. sto facendo molti aggiornamenti.. inoltre sono abbastanza newbie... fatto sta che un paio di giorni dopo non riesco più a settare la Java VM. (ho scoperto il tutto così per caso).

L'errore è il seguente:

```

Traceback (most recent call last):

   File "/usr/bin/java-config-1", line 14, in ?

     from java_config import jc_options

ImportError: No module named java_config

```

Ho già riemerso un sacco di volte il jdk, ho lanciato revdep-rebuild ma non risolve niente....

Cosa potrebbe essere??

PS: intanto ho anche questo problema qui.. è un po' che ci sono su, ma non riesco a risolvere.. magari vi viene un'idea anche a voi!

----------

## codadilupo

https://forums.gentoo.org/viewtopic-t-481060.html

Coda

----------

## lavish

Fatto il merge del thread aperto da makaveli87 con questo

Grazie Coda  :Wink: 

----------

## makaveli87

Va bene... avete unito i thread....

Ma ora ho il mio post in un thread che non risolve il mio problema e che con il tag RISOLTO tiene lontato potenziali "aiutanti"....

E io ho ancora la VM che non va, oltre ad Xorg...

Almeno togliete la tag risolto...

----------

## lavish

 *makaveli87 wrote:*   

> E io ho ancora la VM che non va

 

Hai seguito le istruzioni in questo thread?

 *Quote:*   

> oltre ad Xorg...

 

1 thread, 1 argomento.

----------

## makaveli87

 *lavish wrote:*   

> 
> 
> Hai seguito le istruzioni in questo thread?
> 
> 

 

L'ho letto più di una volta ma non c'è niente di quello che mi serve....

La guida l'avevo seguita e funzionava tutto.

Poi improvvisamente mi è comparso quell'errore...

Ho notato inoltre che revdep-rebuild tutte le volte prova a riemergere ibm-jdk-bin-1.4.2.5 perchè ha dei problemi con le dipendenze, ma non risolve niente.

 *lavish wrote:*   

> 
> 
> 1 thread, 1 argomento.

 

Lo so.. il thread è aperto nella sezione (inglese) PPC, ma dopo una settimana non sono ancora arrivato ad una soluzione... era solo un "indirizzamento" per qualche utente italiano a quel thread...

----------

## !equilibrium

 *makaveli87 wrote:*   

> 
> 
> ```
> 
> Traceback (most recent call last):
> ...

 

a me pare sia un problema di java-config e non di JDK, quindi segui il punto 3 della guida ufficiale gentoo per l'upgrade di java, e vedi se così risolve.

----------

## makaveli87

 *!equilibrium wrote:*   

>  *makaveli87 wrote:*   
> 
> ```
> 
> Traceback (most recent call last):
> ...

 

La guida l'ho già seguita e tutto funzionava... comunque... dici che provando a riemergere java-config-1 e il 2 risolvo i problemi??

----------

## makaveli87

 *makaveli87 wrote:*   

>  *!equilibrium wrote:*    *makaveli87 wrote:*   
> 
> ```
> 
> Traceback (most recent call last):
> ...

 

Ho riemerso e va.

Ho paura che però ridando un revdep rebuild mi si rompa di nuovo tutto... (oppure un emerge -uN world..)

----------

## randomaze

 *makaveli87 wrote:*   

> Ho paura che però ridando un revdep rebuild mi si rompa di nuovo tutto... (oppure un emerge -uN world..)

 

l'opzione '-p' e una lettura attenta dell'output puó essere un toccasana contro queste paure  :Wink: 

----------

## makaveli87

 *randomaze wrote:*   

>  *makaveli87 wrote:*   Ho paura che però ridando un revdep rebuild mi si rompa di nuovo tutto... (oppure un emerge -uN world..) 
> 
> l'opzione '-p' e una lettura attenta dell'output puó essere un toccasana contro queste paure 

 

Il problema è che tutte le volte che lancio

# revdep-rebuild -p 

continua a dirmi che ci sono dipendenze rotte con ibm-jdk-bin e vuole riemergerlo... però non risolve mai il problema..

La dipendenza mancante è una libreria.. mi sempra che inizi per stdc++ qualcosa del genere.... come faccio a scaricarla? e devo metterla in /usr/include ??

----------

## randomaze

 *makaveli87 wrote:*   

> # revdep-rebuild -p 
> 
> continua a dirmi che ci sono dipendenze rotte con ibm-jdk-bin e vuole riemergerlo... però non risolve mai il problema..

 

Perché anche riemergendo un pacchetto binario non verrebbero cambiati i riferimenti alle librerie che resterebbero, ovviamente, quelli di chi ha generato il binario!

Diciamo che si tratta di un "falso positivo" fino a che la jvm continua a funzionare. Quando smetterà di funzionare ti porrai il problema.

 *Quote:*   

> La dipendenza mancante è una libreria.. mi sempra che inizi per stdc++ qualcosa del genere.... come faccio a scaricarla? e devo metterla in /usr/include ??

 

Potrebbe essere la libreria di compatibilità relativa al vecchio gcc, di cui non ricordo il nome esatto. Controlla nella guida di aggiornamento del gcc qual'é il nome per le versioni binarie delle vecchie librerie.

----------

## makaveli87

 *randomaze wrote:*   

> 
> 
> Potrebbe essere la libreria di compatibilità relativa al vecchio gcc, di cui non ricordo il nome esatto. Controlla nella guida di aggiornamento del gcc qual'é il nome per le versioni binarie delle vecchie librerie.

 

 Mi smebra sia questa: libstdc++.so.5 

E' nella sezione "aggiornamento da 3.3. a 3.4".

Però io avevo già la 3.4 ....

Che faccio?? 

Non ho capito che fa questo comando:

# revdep-rebuild --library libstdc++.so.5 -- -p -v

----------

## !equilibrium

 *makaveli87 wrote:*   

> Che faccio?? 
> 
> Non ho capito che fa questo comando:
> 
> # revdep-rebuild --library libstdc++.so.5 -- -p -v

 

credo che randomize intendesse questo: emerge --oneshot sys-libs/libstdc++-v3

----------

## makaveli87

 *!equilibrium wrote:*   

>  *makaveli87 wrote:*   Che faccio?? 
> 
> Non ho capito che fa questo comando:
> 
> # revdep-rebuild --library libstdc++.so.5 -- -p -v 
> ...

 

non ho capito se devo lanciare questo comando....

la libreria non ri riferisce a gcc vecchia versione che ora non ho più??

----------

## randomaze

 *makaveli87 wrote:*   

> la libreria non ri riferisce a gcc vecchia versione che ora non ho più??

 

Si.

Ma evidentemente la jvm in questione é stata complicata con quella libreria, così dovresti eliminare problema.

Naturalmente il condizionale é d'obbligo perché la frase mi sempra che inizi per stdc++ qualcosa del genere potrebbe indicare tante cose  :Rolling Eyes: 

----------

## makaveli87

 *randomaze wrote:*   

>  *makaveli87 wrote:*   la libreria non ri riferisce a gcc vecchia versione che ora non ho più?? 
> 
> Si.
> 
> Ma evidentemente la jvm in questione é stata complicata con quella libreria, così dovresti eliminare problema.
> ...

 

Quando finisco di emergere openoffice ci ridò una occhiata

----------

## makaveli87

Il nome preciso è

libstdc++.so.5

----------

## randomaze

 *makaveli87 wrote:*   

> libstdc++.so.5

 

```
$ equery b /usr/lib/libstdc++-v3/libstdc++.so.5

[ Searching for file(s) /usr/lib/libstdc++-v3/libstdc++.so.5 in *... ]

sys-libs/libstdc++-v3-3.3.4 (/usr/lib/libstdc++-v3/libstdc++.so.5 -> libstdc++.so.5.0.6)
```

Allora effettivamente é quello che abbiamo detto io ed !equilibrium. Devi emergere le librerie binarie di compatibilitá con il vecchio gcc:

```
emerge --oneshot sys-libs/libstdc++-v3
```

----------

## Ic3M4n

io metterei la jdk o comediavolosichiama nel mask di revdep-rebuild. se tutto funziona Ã¨ semplicemente un'errore simile allo straconosciuto openoffice-bin. dai un'occhiata alla dir /etc/revdep-rebuild e dovresti sistemare.

----------

## makaveli87

 *randomaze wrote:*   

>  *makaveli87 wrote:*   libstdc++.so.5 
> 
> ```
> $ equery b /usr/lib/libstdc++-v3/libstdc++.so.5
> 
> ...

 

LOL!! Come sapete dall'altro topic sto facendo il depclean.... ebbene... appena emerso vuole già eliminarmelo!!

----------

## lavish

 *makaveli87 wrote:*   

> LOL!! Come sapete dall'altro topic sto facendo il depclean.... ebbene... appena emerso vuole già eliminarmelo!!

 

Ovvio, l'hai emerso con --oneshot quindi non è in world e non è nemmeno una dep di alcun ebuild che hai installato.

----------

## makaveli87

 *lavish wrote:*   

>  *makaveli87 wrote:*   LOL!! Come sapete dall'altro topic sto facendo il depclean.... ebbene... appena emerso vuole già eliminarmelo!! 
> 
> Ovvio, l'hai emerso con --oneshot quindi non è in world e non è nemmeno una dep di alcun ebuild che hai installato.

 

Immaginavo.. ma allora perchè lo ho emerso??

EDIT: ora revdep-rebuild non mi rompe più le scatole giustamente con quelle librerie..

Però.... sto impazzendo!!!

Se servono al jdk perchè allora depclean vuole togliermele??

----------

