Guide d'installation Valrose

Les grandes étapes

  1. Installation de opam
  2. Initialisation de opam et installation d’OCaml
  3. Installation des packages
  4. Configuration d’emacs (activation de tuareg)

Installation de opam

Il se peut que opam soit déjà installé. Tapez

opam --version

Si vous avez quelque chose comme 2.0.5 ce n’est pas trop mal, vous pouvez sauter directement à la section initialisation d’opam. Sinon, suivez ce qui suit.

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 et install d’ocaml

Commencer par faire le point

Vérifiez si ocaml est déjà installé et quelle version est présente

ocaml --version

En avant

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. En 2021, il semblerait que ce mode sûr soit enfin accessible au département info. Il suffit donc de taper opam init. Auparavant, malheureusement, il n’était pas possible d’activer ce mode sûr avec les machines de Valrose. Il fallait donc désactiver le sandboxing pendant l’initialisation en tapant

opam init --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 les packages que nous utiliserons. Ce qui sera possible dépend de l’espace utilisateur qui vous est octroyé sur votre compte au deptinfo. Le premier package à installer, si vous n’avez pas une version 4.07 ou antérieure d’OCaml, c’est la librairie graphics.

opam install graphics --yes

Je vous conseille ensuite ocp-indent, et s’il reste de la place utop et merlin.

opam install ocp-indent --yes
opam install utop --yes
opam install merlin --yes

Configuration de votre IDE

VSCODE

Démarer vscode en ouvrant un fichier avec une extension “.ml” (par exemple tapez code toto.ml dans un terminal). Vscode vous suggérera beaucoup d’extensions à installer pour ocaml. Avec des version assez anciennes d’OCaml, il semblerait qu’il faille opter pour OCaml (deprecated) de hackwaly pour ma part je n’ai pris que l’officielle d’Ocaml Labs. Il y a aussi OCaml Indentation de Zachary Palmer qui fonctionne avec ocp-indent, mais j’ai l’impression que ça n’apporte rien de plus.

EMACS

A priori vous n’aurez pas besoin d’Emacs, mais si vous connaissez et que vous appréciez, c’est possible, voici comment.

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

Installation des packages avec opam

Il suffit de taper

opam install tuareg user-setup

en espérant qu’il y a encore de la place…

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.