Guide d'installation pas à pas d'OCaml sur les machines de Valrose

Les grandes étapes

  1. Installation de opam
  2. Initialisation de opam (compilation “bootstrap” du compilateur ocamlc)
  3. Installation des packages
  4. Configuration d’emacs (activation de tuareg)

Installation de opam

Votre répertoire bin perso

Placez-vous dans votre home et verifiez si le répertoire bin s’y trouve

cd ~
[ -f bin ] && echo "le bin perso existe" || echo "le bin perso n'existe pas"

Si le bin local n’existe pas, il vous faut le créer

mkdir ~/bin

Téléchargement de opam et copie dans le bin perso

Tapez dans un terminal

rm -f install.sh
wget https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh
sh install.sh

On vous demandera où vous souhaitez installer opam. Le répertoire par défaut ne convient pas, vous devrez taper le répertoire ~/bin

Vérification

Une fois que c’est fini, vérifiez qu’opam est bien installé.

opam --version

Si vous avez une erreur du style “command not found”, c’est probablement que votre répertoire bin perso n’est pas dans votre PATH.

Initialisation de opam

L’initialisation de opam consiste à récupérer la liste des packages, puis à installer le package de base ocaml. Cette seconde étape demande de compiler le compilateur ocamlc à l’aide de lui-même, c’est le bootstrap. Ca prend un peu de temps, donc pour cette étape, vous aurez à prendre patience.

Opam propose un mode “sûr” pour l’installation de package, qui permet d’éviter qu’un script mal écrit pour un package fasse des erreurs potentiellement graves pour vos fichiers. Malheureusement, il n’est pas possible d’activer ce mode sûr avec les machines de Valrose à l’heure actuelle. Il faut donc désactiver le sandboxing pendant l’initialisation. Attention, si vous avez fait un opam init sans l’option disable-sandboxing, il semblerait qu’il ne soit pas possible de désactiver le sandboxing après coup, il faudra donc peut-être effacer opam et le réinstaller.

Enfin, par défaut c’est la toute dernière version d’Ocaml qui est installée. À l’heure actuelle, la version 4.09.0 est disponible mais elle pourrait nous jouer des tours en TP, on va donc être un peu plus conservatifs et prendre la 4.07.0.

Au final, la commande à taper est donc

opam init --compiler=4.07.0 --disable-sandboxing

Vous aurez une question qui vous demande si vous êtes d’accord pour qu’opam modifie votre .profile. Répondez yes.

On vous dit de vérifier si le .profile est bien sourcé depuis votre ~/.bashrc. Il vous faut en fait ajouter la ligne source .profile dans votre script d’initialisation du shell. Ce script dépend du shell avec lequel vous travaillez. Si vous ne savez pas duquel il s’agit, vous pouvez tout simplement sourcer le .profile depuis tous les scripts d’initialisation de shell.

for x in `ls .*shrc`
do 
echo "source .profile" | cat >> $x
done

On vous dit aussi de mettre à jour votre environnement dans le shell courant pour la suite de l’installation

eval $(opam env)

Vérification

Vérifiez que le toplevel ocaml qui arrive en premier dans votre PATH est maintenant bien celui installé par opam.

which ocaml

devrait afficher la même chose que la commande

echo "$HOME/.opam/4.07.0/bin/ocaml"

Installation des packages

Il vous faut maintenant installer le package tuareg et quelques autres pour pouvoir travailler sous emacs.

opam install tuareg ocp-indent user-setup --yes

Vous pourrez plus tard installer éventuellement d’autres package avec la commande opam install.

Configuration d’EMACS

Purge de .emacs

Il reste à activer le mode tuareg sous emacs. Le fichier d’initialisation d’emacs s’appelle ~/.emacs. Par défaut à Valrose il contient une configuration qui nous bloque le bon fonctionnement de tuareg. Peut-être qu’elle est là parce que certains enseignants l’utilisent dans leurs TPs? Pas sûr, mais au cas où, faites une sauvegarde de votre ~/.emacs avant de le remplacer par un fichier vide.

mv ~/.emacs ~/.emacs.backup
touch ~/.emacs

Configuration d’emacs

L’activation du mode tuareg dans emacs demande de modifier le fichier .emacs. Une fois que vous l’avez purgé, vous pouvez laisser l’outil de configuration automatique de configuration d’emacs user-setup faire le travail.

opam user-setup install

Vérification finale

Ouvrez un fichier toto.ml dans emacs. Vous devriez voir apparaitre un menu tuareg. Si ce n’est pas le cas, appelez le chargé de TP ou envoyez un mail au professeur.