Projet Java® pour FreeBSD : JDK® 1.3
19 Décembre 2003 : Greg
Lewis a sorti un nouveau jeu de patches (version 9) pour le JDK 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version contient de nombreuses corrections et améliorations, il est donc recommandé de faire une mise à jour
avant de signaler tout problème.
12 Février 2003 : Greg
Lewis a sorti un nouveau jeu de patches (version 8) pour le JDK® 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version est la première du JDK 1.3.1 à passer
les tests de compatibilités de Sun. Elle contient de nombreuses corrections et améliorations, il est
donc recommandé de faire cette mise à jour avant de signaler tout problème.
26 Juillet 2002 : Greg
Lewis a sorti un nouveau jeu de patches (version 7) pour le JDK 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version contient de nombreuses corrections et améliorations, il est
donc recommandé de faire cette mise à jour avant de signaler tout problème.
13 Février 2002 : Greg
Lewis a sorti un nouveau jeu de patches (version 6) pour le JDK 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version contient de nombreuses corrections et améliorations, il est
donc recommandé de faire cette mise à jour avant de signaler tout problème.
16 Octobre 2001 : Greg
Lewis a sorti un nouveau jeu de patches (version 5) pour le JDK 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version contient de nombreuses corrections et améliorations, il est
donc recommandé de faire cette mise à jour avant de signaler tout problème.
10 Septembre 2001 : Greg
Lewis a sorti un nouveau jeu de patches (version 4) pour le JDK 1.3.1
et a également mis à jour le port ports/java/jdk13. Ces nouveaux
patches sont, comme d'habitude, disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
Cette nouvelle version contient de nombreuses corrections et améliorations, il est
donc recommandé de faire cette mise à jour avant de signaler tout problème.
27 Août 2001 : Greg Lewis a sorti le tant attendu port du JDK 1.3.1. Il peut maintenant être compilé à partir du répertoire ports/java/jdk13. Il faut noté que toutes les remarques décrites ci-dessous s'appliquent et qu'il s'agit toujours d'une version uniquement à destination des développeurs. Il n'est pas recommandé de l'utiliser en production.
16 Juillet 2001 : Greg Lewis a sorti plusieurs patches pour les développeurs intéressés par la compilation d'une version native du JDK 1.3.1 pour FreeBSD. Il est à noter qu'il s'agit d'une version uniquement à destination des développeurs et que cela ne compilera pas une version fonctionnelle du JDK. Ces patches sont rendus disponibles principalement afin que les personnes intéressées puissent participer à ce projet de port en ayant une base pour commencer. Ces patches ainsi qu'un résumé de la procédure de compilation sont disponibles sur http://www.eyesbeyond.com/freebsddom/java/jdk13.html
15 Septembre 2000 : Andrew
Gallatin et Sean O'Connell
travaillent actuellement à faire fonctionner le JDK 1.3 de IBM. Afin de le faire
fonctionner sur votre système, vous devrez appliquer plusieurs patches au code source de FreeBSD.
Les patches sont disponibles sur :
4.0-RELEASE
4.0-STABLE
-CURRENT (pre-SMPng)
Pour citer le message de Drew :
Je suis finalement parvenu à faire fonctionner le jdk 1.3 de IBM. Je ne l'ai pas testé de manière approfondie mais la partie AWT semble cependant enfin fonctionner. Voici un nouveau jeu de patches à appliquer sur -current pre-SMPng. Les patches concernent : - changement de la valeur de MINSIGSTKSZ de 8192 à 2048 - implémentation de linux_rt_sendsig() & linux_rt_sigreturn() - implémentation du code sigtramp côté utilisateur pour linux_rt_sigreturn() - implémentation de linux_to_bsd_sigaltstack & bsd_to_linux_sigaltstack() afin corriger un bug dans linux_sigaltstack & afin d'éviter des copies de code dans linux_rt_sigreturn(). Cela corrige également le "Java HotSpot(TM) Client VM warning: cannot uninstall alt signal stack" qui apparaît avec le JDK 1.3 de Sun. - changement du drapeau MAP_STACK à MAP_ANON pour les mmaps de LINUX_MAP_GROWSDOWN. Cela a été l'étape finale pour que les choses fonctionnent. Y-a-t'il des gourous de la VM pour en discuter ? Il y a apparemment un problème avec les piles à taille dynamique sur les threads linux [*] Patches disponibles sur : http://www.cs.duke.edu/~gallatin/linux_sa_siginfo/diff [*]Le "problème" est l'heuristique utilisé par vm_map_growstack() afin de déterminer la part de la pile dans le processus principale. Nous utilisons actuellement : is_procstack = addr >= (vm_offset_t)vm->vm_maxsaddr; où vm->vm_maxsaddr provient de exec_new_vmspace(): vmspace->vm_maxsaddr = (char *)USRSTACK - MAXSSIZ; Le thread principal du JDK de IBM réduit sa taille de pile à rlim_cur=2040*1024. Il créé alors des piles pour ses threads à des adresses supérieures à vm_maxsaddr mais inférieures à la limite basse courante de la pile du processus principal défini par p->p_rlimit[RLIMIT_STACK].rlim_cur. La première fois qu'un thread accède à quelque chose qui recquiert une extension de cette région, il part en vrilles.
Et le courrier électronique de Sean :
J'ai très rapidement porté sur -stable le travail de Andrew Gallatin pour faire fonctionner le SDK Java de IBM. J'ai pu utilisé le lanceur d'applet sur une des démos et cela a fonctionné. Je ne peux pas vraiment en dire plus. Les patches sont tous relatifs au répertoire /usr/src (ou / puisqu'ils sont tous dans sys) La majorité des patches concernent les fichiers du répertoire /sys/i386/linux. Vous devez appliquer les patches; faire un cd sur /sys/modules/linux; taper make; kldunload linux; taper make install; et kldload linux Il y a une modification supplémentaire qui met MINSIGSTKSZ à 2048 dans sys/sys/signal.h .. cela nécessite une recompilation du noyau afin que cette modification soit prise en compte.
18 Juillet 2000 : Ernst de Haan travaillent actuellement à faire fonctionner la version Linux du JDK 1.3.0b9 de Sun sur 4.0-STABLE. Le fichier .java_wrapper est disponible ici. (N'oubliez pas de le renommer en .java_wrapper)
Le courrier électronique de Ernst :
Juste une dernière astuce : modifiez le fichier jre/lib/jvm.cfg et placez la dernière ligne en premier. Vous aurez donc : -classic -hotspot -server J'obtiens un warning, par ailleurs, avec l'application Swing : Warning: Cannot convert string "MetaCtrl<Key>Insert" to type VirtualBinding Ernst Ernst de Haan a écrit : > Bonjour à tous, > > Je parviens à faire fonctionner la version Linux du JDK 1.3.0 beta 9 de Sun > sur mon système FreeBSD 4.0-STABLE. Il fonctionne par ailleurs plutôt bien. > > java -version indique : > > bash-2.04$ java -version > expr: syntax error > java version "1.3.0beta_refresh" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0beta_refresh-b09) > Classic VM (build 1.3.0beta_refresh-b09, green threads, nojit) > > La première ligne avec l'erreur de syntaxe est un petit problème lié au fichier > .java_wrapper mais il est à priori inoffensif. J'ai du faire quelques modifications > au script .java_wrapper afin de le faire fonctionner sur mon système. J'ai mis en attachement > la version que j'utilise. > > Je n'ai pas encore réalisé beaucoup de tests mais j'ai essayé une application > Swing. J'ai constaté quelques différences au niveau des fontes sinon tout semble > fonctionner plutôt bien et rapidement :) > > Wow, bientôt FreeBSD sera la plate-forme avec le plus grand nombre de > JDKs, une fois que nous aurons un WINE fonctionnel ce qui nous permettra d'utiliser > également les JDKs Windows, et que nous aurons écrit un émulateur > AS/400, et... et... ;-) > > Ernst > > P.S. Merci à Victor Salaman qui m'a orienté vers la bonne direction. > Il fait fonctionner la version Linux du JDK 1.3 de Sun depuis quelque temps déjà.
29 Janvier 2000 : Le port du JDK 1.3 n'a pas commencé. Il ne débutera pas avant que celui du JDK 1.2 ne soit achevé.