Late as usual!

mercoledì, maggio 04, 2005

Ok, ci abbiamo provato...

...ad installare Java 1.5 o J2SE 5.0 o Tiger o comestrac@#% lo vogliamo chiamare su Mac OS X Panther (10.3.9) anche se Apple era stata molto chiara a riguardo: Tiger va solo su Tiger.

Epperò visto che a qualcuno era andata bene al giro passato e l'installazione di Java 1.4 su Jaguar (10.2.x) era riuscita nonostante non fosse ufficialmente supportata, ho pensato bene di seguire il vecchio esempio secondo quanto riportato su ResExcellence, adattandolo alle nuove esigenze.

Quello che segue è la cronaca di un insuccesso.

Step 1. Scarico il file DMG dell'installazione Java15Release1.dmg e monto l'immagine disco.
Step 2. Copio il file PKG Java15Release1.pkg sulla Scrivania in modo da poterlo modificare.
Step 3. Dal menu contestuale apro il contenuto del pacchetto e cerco il file VolumeCheck, lo apro con un editor come vi e modifico opportunamente il controllo sulla versione dell'OS:

# If system version is less than than 10.4 show error
if (CheckVersion("$SYSTEM_VERS", "10.4", "ProductVersion", "<" )) {


Step 4.
Aggiungo un symlink da Terminale per correggere una differenza nel percorso per Java 1.4 che l'Installer si aspetta con i seguenti comandi:

cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo ln -s 1.4.2 1.4


Step 5. Lancio l'installer, tutto sembrerebbe andar bene, incrociamo le dita...
Step 6. Provo a lanciare Java 1.5 da:
/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/java
Niente da fare, ottengo il messaggio già visto con gli errori nell'aggiornamento 10.3.9 di Panther:
HotSpot not at correct virtual address. Sharing disabled.
Provo la stessa risoluzione, aggiornamento prebinding + rigenerazione Java Shared Archive:

sudo update_prebinding -root / -force
sudo /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/update_sharing 1.5

Drammatico Epilogo Rilancio Java, tutto uguale a prima, guardo il resoconto della Console e ahimè trovo un messaggio che non lascia scampo, Java 1.5 utilizza API non esistenti su Panther:

dyld: java Undefined symbols:
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libawt.jnilib undefined reference to _kCTForegroundColorFromContextAttributeName expected to be defined in ApplicationServices
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libawt.jnilib undefined reference to _NSAccessibilityTopLevelUIElementAttribute expected to be defined in Cocoa
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries/libawt.jnilib undefined reference to _NSAccessibilityInsertionPointLineNumberAttribute expected to be defined in Cocoa

Faccio un ultimo tentativo a lanciare java 1.5 con il parametro che mi permette di ignorare il java shared archive:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home
alias java='$JAVA_HOME/bin/java -Xshare:off'
java


Effettivamente qui il messaggio di errore è sparito, mi perdo l'ottimizzazione dello sharing, ma forse qualcosa funziona... passo allora alla prova di qualche applicazione, NetBeans, Eclipse, jEdit o qualcos'altro senza interfaccia grafica come Ant, Tomcat... insomma le prime non funzionano, le seconde invece sembrerebbe di si, Contrordine, Eclipse va! A a naso tutto quello che usa java.swing sembrerebbe da evitare, il che ha anche una logica perché nella JVM Apple Swing dovrebbe essere basata su Cocoa. É forse giunto il momento di lanciarsi su SWT? Filippo ne sarebbe contento ;)

Ma vale la pena tutta questa fatica? Forse si, forse no.
In realtà il problema è un altro: Java su Mac sarà anche una delle migliori implementazioni disponibili, ma rimane comunque soggetta ai diktat di Apple, cosa che per gli sviluppatori può diventare un serio problema. Il ritardo nell'implementazione della versione 1.5 da parte di Apple è un fatto, ma ora che con J2SE 6.0 Mustang, la prossima versione di Java, il processo di release di Java sta diventando sempre più aperto da parte di Sun, diventa sempre più rilevante per chi sviluppa poter utilizzare anche le daily build pubblicate su java.net, cosa che su Mac sembrerebbe assolutamente non fattibile. Speriamo in meglio, visto che anche James Gosling ha il suo bravo PowerBook...

Risultato finale.
Mentre mi arrovello in questi pensieri, per ora vado a comprarmi Tiger, anche se delle 200+ feature di Panther tante ne devo ancora scoprire ed invece ora mi tocca aggiungerne altre 200+ alla lista...

venerdì, aprile 29, 2005

DeBaser Mozilla Search @ mozillaitalia.org

Ho il piacere di annunciarVi che il mio search plugin di DeBaser per Firefox, ma anche per tutti gli altri browser della Mozilla Foundation - cio� questo - � stato ufficialmente pubblicato su Mozilla Italia.
Grazie! E chiss� che questa stupidata non incrementi anche la visibilit� di DeBaser, se la merita proprio...

Tiger 4 Tiger

L'edizione inscatolata è sugli scaffali oggi e molto probabilmente avrà ancora il JDK 1.4.2, però è notizia di adesso che ciò che aspettavo è appena stato pubblicato sul sito Apple come download: è con noi Java SDK 1.5.0 Tiger per Mac OS X!

Java 2 SE 5.0 Release 1
Java 2 SE 5.0 Developer Documentation

ovviamente solo per Mac OS X 10.4 Tiger...

martedì, aprile 26, 2005

Papappappapapappappapapappappapà

Questa sera concerto di Feist al Transilvania a Milano: tutti a fare il coro, I know it's a cheap trick, ma speriamo che porti bene!

venerdì, aprile 22, 2005

Tormentone

Un immagine, Mimi che picchia sul tamburo con abito, capigliatura e sguardo degni di Carrie Fisher nei Blues Brothers, e la voce di Alan che si intreccia alla sua: Tonight you will be mine, tonight the monkey dies
Fortunatamente non sono solo le inutili ripetizioni televisive ad insediarsi stabilmente nella mia testa...

martedì, aprile 12, 2005

La tigre nasce zoppa

É stata annunciata oggi per venerdì 29 aprile la data di disponibilità nei negozi della nuova release di Mac OS X, 10.4 o Tiger, con una valangata di novità pronte a far dimenticare qualsiasi residuo di curiosità rimasta nei confronti dell'ormai sempre più sfuggente Longhorn di Microsoft.
A leggere sul sito di Apple, incredibilmente tradotto in italiano a tempo di record, mancherebbe però la caratteristica da me più attesa, e cioè l'inclusione dell'altra Tigre, ovvero la versione di Java 1.5.0 o 5.0 o Tiger che dir si voglia, visto che siamo fermi alla vecchia 1.4.2: questa tigre nasce davvero zoppa, vorrà dire che mi toccherà aspettare ancora prima di seguire gli esperimenti di Filippo, ormai di non so più neanche quanti JUG meeting fa....

lunedì, aprile 11, 2005

JUG runners!

Domenica ho sfidato pioggia, sonno e la mia innata propensione al ritardo per partecipare alla StraMilano 2005 e non spezzare una tradizione che mi vuole appassionato di jogging ben una volta all'anno.
Ed eccoci oggi al luned� puntualmente con gambe rotte e sguardo catatonico tutto il giorno in ufficio!

Quest'anno per� la vera soddisfazione � stata partecipare in una vera squadra con il gruppo del JUG Milano. Un grande GRAZIE a Renzo per l'organizzazione con la fantastica idea delle magliette... in realt� sotto quella del JUG avevo anche quella di Testa di Pinguino, mi ci mancava solo la DeShirt di DeBaser per essere un perfetto uomo cartellone vestito a cipolla!