Installer OCaml et Camlp5 pour compiler GeneWeb

From GeneWeb
Jump to: navigation, search
150px-Geographylogo svg.png Language: English • français

Compiler GeneWeb requiert l'installation de OCaml et de Camlp5. La méthode la plus simple est d'installer ceux-ci via OPAM (OCaml preferred package manager) qui est capable de gérer de multiples versions de OCaml sur la même machine. Notez que Camlp5 doit être installé pour chaque version du compiler.

Sans OPAM, l'ancienne façon de faire est d'installer/compiler OCaml et Camlp5 par soi-même.

Lorsque OCaml est Camlp5 sont installés, vous pouvez cloner le dépôt et compiler GeneWeb.

N'oubliez pas que si votre base a été construite sur une ancienne version, elle ne sera pas compatible avec les bases construites sur une nouvelle version; elle devra être recover via le format .gw pour migrer de l'une a l'autre.


GeneWeb 7

GNU/Linux

Testé sur Debian en mars 2018 (debian-9.3.0-i386-netinst.iso).

Pour installer Opam/OCaml (4.07)/Camlp5 (7.06) :

apt-get install opam
opam init
opam update
opam switch 4.07.0
eval `opam config env`
opam install -y camlp5 cppo dune

Si l'installation de ocamlfind échoue, essayez d'installer les paquets pkg-config ou m4 pour votre distribution.


MacOS

Testé sur OS X El Capitan 10.11.6 en février 2018.

la meilleure façon d'installer Opam/OCaml est de le faire avec Homebrew, un gestionnaire de paquets.

Vous devez d'abord installer Homebrew via le terminal en tapant la commande suivante
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Si vous obtenez l'erreur “Illegal variable name.”, utilisez Bash.

Une fois que Homebrew est installé, vous pouvez aisément installer Opam (toujours avec le terminal), avec ces commandes
brew install opam 
opam init
opam update
opam switch 4.05
Et pour OCaml
opam install -y camlp5 ocamlfind
eval `opam config env`
Avant de compiler GeneWeb, vous devez mettre à jour Bash avec Homebrew dans le terminal
brew install bash 

Ne prenez pas en compte les mises en garde concernant le chemin Bash. Vous pouvez maintenant télécharger et compiler GeneWeb.

Windows via Cygwin

Testé sur Windows 7 x64 and x86 en février 2018.

Si vous avez Windows Powershell (intégré à Windows depuis XP SP2), ce script batch va télécharger/compiler/installer Cygwin/Opam/OCaml/Camlp5/Ocamfind/GeneWeb pour vous. Vous pouvez télécharger le script en copiant la ligne qui suit dans une invite Windows (ligne de commande) avec les droits administrateurs:

powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('https://gist.github.com/a2line/f134c88c80eafcf0411b38e32a0a7128/raw/','opamwin.bat')

Ensuite, lancez simplement le script téléchargé en tapant opamwin dans la même console pour tout installer.

Sans Powershell, vous devez télécharger le fichier batch opamwin.bat et le Cygwin adéquat x64 ou x86 manuellement. Lancez le script sous une invite avec des droits d'administrateur et ayant configuré Cygwin dans le même répertoire.


GeneWeb 6.xx avec OPAM

GNU/Linux

Les sources de GeneWeb 6.04, 6.05 et 6.08 peuvent être construires facilement avec Opam switch vers OCaml 3.12.1 (voir #435). Sur Debian:

opam switch 3.12.1
eval `opam config env`
opam install -y camlp5 ocamlfind

Lorsque vous utilisez Opam sur d'anciennes sources, vous devez remplacer le chemin vers Camlp5 CAMLP5D=+camlp5 dans tools/Makefile.inc avec la commande sed après avoir configuré Makefile :

./configure
sed -i 's|CAMLP5D=+camlp5|CAMLP5D=~/.opam/3.12.1/lib/camlp5|' tools/Makefile.inc
make
make distrib

Vous pouvez vérifier le chemin vers Camlp5 avec camlp5 -where ou ocamlfind query camlp5, dans cete exemple la librairie camlp5 se trouve dans /root/.opam/3.12.1/lib/camlp5/.


MacOS

Appliquez le même processus qu'avec GNU/Linux, en dehors de la commande sed:

./configure
sed -i .bak 's|CAMLP5D=+camlp5|CAMLP5D=~/.opam/3.12.1/lib/camlp5|' tools/Makefile.inc
make
make distrib

Windows via Cygwin

Le chapitre précédent pour Linux fonctionne pour Windows sous Cygwin en modifiant quelques étapes, le nom de version d’OCaml est:

opam switch 3.12.1+mingw32


Si vous utilisez un chemin relatif ou / cygdrive /…, vous devez cibler la lbirairie camlp5 en utilisant son chemin Windows complet, qui dépend de l’emplacement de votre répertoire personnel dans l’installation de Cygwin:

sed -i 's|CAMLP5D=.*|CAMLP5D=c:\\cygwin\\home\\user\\.opam\\3.12.1+mingw32\\lib\\camlp5|' tools/Makefile.inc

La version 6.07 fonctionne également sous Windows.


Cloner le dépôt et compiler GeneWeb

GeneWeb utilise le logiciel de contrôle de version Git. Son dépôt est hébergé sur Github à l'adresse https://github.com/geneweb/geneweb. Pour compiler GeneWeb, vous avez besoin de OCaml.

git clone https://github.com/geneweb/geneweb
cd geneweb
./configure && make && make distrib

Si la compilation de GeneWeb échoue, consultez outils d'intégration continue pour voir si la dernière version est en cours de transmission sur votre plateforme.

Options de build

./configure options:

 -h|--help
     show this help
 --api
     build the API
 -d|--debug
     add debugging symbols to the build command
 -i|--interactive
     run configure interactively
 -s|--static
     statically link libraries
 -we|--warn-error
     treat warnings as errors

Par exemple, si vous souhaitez que les symboles/avertissements de débogage utilisent ./configure -d -we, vous pouvez lancer gwd en ajoutant OCAMLRUNPARAM=b pour déclencher l'affichage de backtraces lorsqu'une exception non capturée annule le programme.

Construire une GUI GeneWeb

Depuis la version 6.xx, une interface GTK facilite la gestion de gwd et de gwsetup. Elle peut être construite avec lablgtk installé.

opam install lablgtk
./configure
make everything

GeneWeb/OCaml/Camlp5 : tableau de compatibilité

GeneWeb Ocaml Camlp4/5
1.07-2.07 2.01-2.02 p4*
3.01-3.03 2.01-2.04 p4*
3.04-3.07 2.01-3.00 p4*
3.08-4.01 3.00 p4*
4.02 3.01 p4*
4.03 3.02 p4*
4.04-4.07 3.04
4.08-4.09 3.06 p4*
4.10 3.08
5.00-5.01
5.02 3.11 p5 6.02.1**
6.00-6.08 3.12.1 p5 6.04-6.16
7 master 4.02.3-4.0.7 p5 6.13-7.07

*“Même numéro de version” pour camlp4 comme numéro de version Ocaml.

** Dominique Deram, compilation under Windows XP (jan. 2011)



Manuel GeneWeb

Rembrandt Old Man Reading a Book.jpg

Utiliser et gérer une base généalogique

Annexe technique