Compiler GeneWeb sous MS Windows XP

Sommaire
1 Introduction
2 Outils Windows
2.1 MinGW
2.2 MSYS
2.3 CVS
3 Compilateur
3.1 ocaml
3.2 flexdll
3.3 camlp5
4 GeneWeb
5 Suppression
6 Références

1 Introduction.

Le logiciel de Généalogie GeneWeb élaboré par Daniel de RAUGLAUDRE est distribué d'une part sous forme de programmes exécutables et d'autre part sous forme de programme source.
La dernière version exécutable distribuée est la version 5.00 datée du 26 février 2007.
Depuis cette date, les nouveautés ne sont plus disponibles qu'en langage source, et, si l'on veut en profiter, il faut compiler soi même le programme source.
L'objet de cette page qui n'est pas destinée aux utilisateurs débutants est de décrire une méthode pour parvenir à réaliser cette compilation sous MS Windows XP, car, si cette opération est relativement simple sous Linux, il n'en va pas de même sous MS Windows.
Pour ce qui concerne les autres versions de Windows, il semble que cette méthode ne fonctionne pas sous Windows 98 et Me, alors qu'elle fonctionne sous Windows Vista, à condition d'exécuter tous les programmes en tant qu'admnistrateur.
Sous Windows seven, cela devrait fonctionner de la même façon que sous Windows Vista.
Dans tous les cas, le fonctionnement du logiciel ainsi compilé ne peut être garanti et l'auteur de ces lignes dégage toute responsabilité tant matérielle qu'immatérielle dans l'usage qu'il en est fait.
Comme Daniel de RAUGLAUDRE l'indique sur la page de garde de son site http://www.geneweb.org, GeneWeb est un logiciel libre avec Licence GPL (GNU), ce qui autorise tout un chacun à réaliser cette compilation. Pour plus de détail sur cette licence, sur ce qui est permis et ce qui ne l'est pas, voyez le texte de la licence disponible sur http://www.geneweb.org/LICENCE.htm

Pour ceux qui ne sont pas intéressés par le processus de compilation, mais uniquement par le résultat de celle ci, ils trouveront ci après une version compilée sous Windows XP de GeneWeb 5.02. Cette version est utilisable dans les mêmes conditions que la version 5.00 classique.

Compiler GeneWeb, c'est très simple sur le papier : il suffit de télécharger le programme source de GeneWeb d'une part et le compilateur ad'hoc d'autre part et ensuite d'ordonner au compilateur de créer le logiciel à partir du programme source.
En pratique, c'est plus compliqué du fait du compilateur et de la procédure de compilation sous Windows.

GeneWeb est écrit en langage Caml. Ce langage a été développé initialement sous Linux puis porté sous Windows moyennant quelques outils complémentaires permettant à une machine Windows de ressembler à une machine Linux. Il faut donc commencer par installer ces outils complémentaires puis installer le compilateur et enfin le programme source avant de lancer la compilation de GeneWeb.

2 Outils Windows nécessaires au fonctionnement du compilateur ocaml.

2.1 MinGW (contraction de Minimalist GNU for Windows).

Il s'agit d'un ensemble de compilateurs et d'utilitaires destinés à élaborer des programmes objets Windows à partir de programmes sources conçus pour le monde Linux. On trouve la documentation complète de MinGW sur http://www.mingw.org

2.2 MSYS (contraction de Minimal SYStem).

Il s'agit de l'environnement Linux et d'une console remplaçant cmd.exe de Windows. Avec MSYS, on pourrait presque se croire sous Linux et c'est depuis cette console que l'on lancera les compilations.
On trouve la description complète de MSYS sur http://www.mingw.org

2.3 CVS (n'est utilisé que si l'on veut disposer de la toute dernière version de GeneWeb).

Si l'on veut disposer de la toute dernière version des sources de GeneWeb, il faut les télécharger depuis le site de l'INRIA, mais on se heurte au fait qu'il n'y a pas d'outil Windows permettant ce téléchargement global : avec un navigateur internet, on ne peux télécharger qu'un seul composant à la fois et il y en a plus de cinq cents !!
Le logiciel CVS (pour Concurent Version System) est utilisé par le serveur de l'INRIA pour gérer les programmes sources et il existe des clients windows qui permettent le téléchargement de l'ensemble du programme source de GeneWeb ainsi que la mise à jour automatique de ce téléchargement.
Parmi ces logiciels clients, citons TortoiseCVS et WinCVS comportant une interface graphique permettant d'exécuter les commandes.
Ces logiciels sont assez volumineux et on peut utiliser une version légère et lancer les commandes à la main.

3 Compilateur ocaml.

Le compilateur ocaml ne figure pas dans la liste des compilateurs englobés par MinGW / MSYS, il faut donc l'installer.
En outre, GeneWeb n'utilise pas uniquement le compilateur ocaml "de base", mais également un complément camlp5 qu'il faut également installer.
Il faut également installer un troisième utilitaire : flexdll

3.1 Compilateur ocaml "de base".

L'INRIA, concepteur du langage Caml, indique sur son site http://caml.inria.fr/index.fr.html, et plus particulièrement à la page http://caml.inria.fr/ocaml/release.fr.html que le compilateur ocaml pour Windows existe en plusieurs versions.
On utilise la version Port natif Win32 basé sur les outils MinGW.

3.2 flexdll, un complément à ocaml "de base".

Pour fonctionner correctement, le compilateur ocaml a besoin d'un outil supplémentaire : flexdll développé par Alain Frisch et disponible sur http://alain.frisch.fr/flexdll.html

3.3 camlp5, un complément à ocaml, développé par le créateur de GeneWeb.

Pour compiler GeneWeb, le compilateur ocaml "de base" est insuffisant depuis septembre 2007 et il est nécessaire d'utiliser le complément camlp5. À ce jour, il n'existe pas de distribution de la version exécutable sous MS Windows et seul le programme source de ce complément est disponible. Il faut donc télécharger le code source puis le compiler.

MS Windows XP est maintenant prêt à compiler GeneWeb.

4 Compilez GeneWeb.

5 Suppression de l'environnement de compilation.

À l'issue de la procédure de compilation, vous pouvez choisir de supprimer l'environnement de compilation et ne garder que les programmes exécutables. Dans ce cas, il vous suffit de désinstaller les logiciels dans l'ordre inverse de leur installation.

6 Références.

7 Historique.