Skip site navigation (1) Skip section navigation (2)

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é.