opam
opam
(compilation “bootstrap” du compilateur ocamlc
)tuareg
)opam
bin
persoPlacez-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
opam
et copie dans le bin
persoTapez 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
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
.
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 y
es.
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é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"
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
.
.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
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
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.