Guide d'installation Valrose

EDIT 3 octobre 2023:

OCAML est maintenant bien installé sur les machines du dpt info.

Il vous reste deux choses à faire.

  1. Ajouter la ligne suivante dans votre .zshrc
export OPAMROOT=/usr/local/Opam-Ocaml
  1. Installer l’extension Ocaml Platform dans visual code.

Pour tester que tout marche bien, voir ici.

Les grandes étapes

  1. Installation de opam
  2. Initialisation de opam et installation d’OCaml
  3. Installation des packages
  4. Configuration de votre IDE

1. 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 2 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.

2. Initialisation de opam et installation 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

Il faut aussi indiquer le répertoire racine où installer les paquetages et les switchs. On utilisera ~/.opam comme racine.

opam init --disable-sandboxing --root ~/.opam --yes

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/5.1.0/bin/ocaml"

sauf que le numéro de version sera peut-être un peu différent.

Pour installer la version 5.1.0, si ce n’est pas fait

opam switch create 5.1.0 --root ~/.opam

3. 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 utop, et s’il reste de la place ocaml-lsp-server et merlin.

opam install utop --yes
opam install merlin ocaml-lsp-server --yes

4. 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.

Celle recommandée actuellement est Ocaml Platform.

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.