Blog

Chi ha intenzione di sviluppare MIDlet per cellulari utilizzando il WTK 2.5.2 della Sun su una macchina a 64 bit, si troverà nella situazione di non poter avviare l’emulatore, poichè esso si rifiuterà di partire sostenendo che:

java.lang.UnsatisfiedLinkError:
	/home/user/netbeans-6.0/mobility8/WTK2.5.2/bin/sublime.so:
	/home/user/netbeans-6.0/mobility8/WTK2.5.2/bin/sublime.so:
	wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

Insomma… problemi di compatibilità tra binari a 32 e a 64 bit!

Per risolvere il problema, cominciamo con lo scaricare una JDK a 32 bit;
poi andiamo nella directory dove abbiamo installato WTK (nel mio caso è quello compreso nell’installazione di NetBeans 6) e decomprimiamo il pacchetto:

$ cd ~/netbeans-6.0/mobility8/WTK2.5.2
$ sh /path/to/jdk-6u3-linux-i586.bin
$ ln -s jdk1.6.0_03 jdk32

In seguito, dovremo editare lo script di avvio dell’emulatore WTK:

$ cd ~/netbeans-6.0/mobility8/WTK2.5.2
$ vim bin/emulator

(ovviamente potete utilizzare il vostro editor preferito al posto di vim)

e modificare la prima riga del codice in questo modo:

javapathtowtk=/home/user/netbeans-6.0/mobility8/WTK2.5.2/jdk32/bin/

Adesso potrete finalmente testare le vostre applicazioni J2ME sull’emulatore! :)


  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
DMolt @ March 13, 2008 21:06

Ciao, innanzitutto complimenti per la soluzione.

Però non mi funziona, per caso mi sai aiutare perché non funziona?

Bruno @ March 13, 2008 23:15

Se mi dici almeno qual’è il problema, posso cercare di aiutarti. Fammi sapere il messaggio di errore, oppure il comportamento anomalo che hai riscontrato.


E grazie per la visita! :)

DMolt @ March 14, 2008 01:04

l’errore è sempre lo stesso, come se non usasse la jdk a 32 bit ma sempre quella a 64 bit, pensavo di rimuovere quella a 64 bit ma comunque non posso farne a meno…

la distribuzione è la ubuntu 7.10, con il jdk 1.6 della sun (installato dai reèpository) e il jwt 2.5.1 installato con l’auto estraente, la prova l’ho fatta con un esempio e “compilato” e lanciato dalla ktoolbar del jwt.


Grazie per l’aiuto e dimmi se vuoi che ti contatti in un altro modo.


Davide

Bruno @ March 14, 2008 18:34

Ho ripetuto l’installazione di Netbeans + WTK in diverse macchine e con diverse distribuzioni (Ubuntu, Kubuntu, Fedora) ed i passi che ho descritto nel post sono sempre stati sufficienti per far funzionare tutto… l’unica cosa che posso pensare è una diversa modalità di esecuzione.

Potresti provare a lanciare l’emulazione con il pulsante “Run” di NetBeans… mi pare di aver capito che invece esegui l’applicazione in un altro modo.

DMolt @ March 14, 2008 22:29

Ciao,

io provavo a compilare e lanciare gli esempi direttamente dal programma che c’è con il JWT, cmq adesso ho installato Netbeans 6.1 col mobility pack e il jwt e con la tua soluzione funziona, userò quello per le midlet.

Grazie ancora per l’aiuto


Davide

DMolt @ March 15, 2008 00:32

un aggiornamento ho risolto il problema reinstallando il jwt da solo e specificando il path per l’interprete.

Quindi consiglio:

1)installare il jdk a 32 bit

2) installare il jwt e specificare il path manualmente

funziona senza editare lo script dell’emulatore


Un saluto

Bruno @ March 15, 2008 03:59

Grazie mille per l’aggiornamento :) Sarà utile a molti visitatori!

Vito @ June 30, 2008 21:53

si conviene seguire le istruzioni di DMolt

ma se avete installato prima la jwt e poi le jdk32 (come me!!) dovete modificare sia il file emulator che il file ktoolbar nella cartella bin delle jwt se volete fare build e run!!!!

ciao

Jonny @ April 27, 2009 19:04

Grazie per la guida, mi hai salvato!!! :P

Alfredo @ March 02, 2010 15:44

grazie per la soluzione ;)

Name


Email


Website/Blog


Add comment