Vérification de l'installation d'OCaml à Valrose

Vérifier qu’opam est bien installé

Taper dans un terminal

opam --version

vous devriez voir quelque chose comme 2.0.5. Si c’est tout bon, il vous faut vérifier maintenant l’installation des packages.

Si vous avez une erreur du style “command not found”, il reste encore une chance. Regardez si opam est bien installé dans votre répertoire local:

ls ~/local
~/local/opam --version

Si cette fois-ci vous voyez la version d’opam installée, il vous reste seulement à ajouter votre répertoire local dans votre $PATH, voir ci-dessous. Si cela marche pas mais qu’opam apparait bien dans local, c’est peut-être un problème de droits sur le répertoire local ou le fichier opam.

Vérifier que le répertoire local est dans $PATH

Taper dans un terminal

echo $HOME

pour connaitre le chemin absolu vers la racine de votre compte. Chez moi, selon la machine, j’obtiens /users/personnel/e/elozes ou /u/profs/elozes/.

Regardez ensuite si le répertoire $HOME/local est bien dans$PATH

echo $PATH

Chez moi j’ai /users/personnel/e/elozes/local et /u/profs/elozes/local qui apparaissent bien dans $PATH. Si ce n’est pas le cas pour vous, il va falloir l’y rajouter.

Rajouter le répertoire local dans $PATH

Il suffit de taper

export PATH="$HOME/local:$PATH"

et vous devriez avoir maintenant opam qui fonctionne dans cette session shell. Pour que cela reste vrai pour toute session shell future vous devez ajouter la ligne précédente dans votre script d’initialisation.

Ce script d’initialisation dépend du shell que vous avez, et qui peut changer selon que vous êtes sous un terminal ou sous emacs, sur une machine d’une salle ou d’une autre, etc. Je vous recommande donc de créer si ce n’est déjà fait un fichier .profile qui contiendra la partie commune à tous les .xxxshrc, et d’y mettre la ligne export ... prédécente. Il faut ensuite demander à tous les scripts d’initialisation d’aller charger le script .profile. Pour faire tout cela, vous pouvez taper

touch .profile
echo "export PATH=\"$HOME/local:\$PATH\"" | cat >> .profile
for x in `ls .*shrc`
do
    echo "source .profile" | cat >> $x
done

Initialiser opam

Vérifiez que vous avez bien une fichier .profile et qu’il est sourcé depuis votre .rc, cf ci-dessus. Ensuite, tapez

opam init --disable-sandboxing

et répondez y(es) aux deux questions.

Purger votre .emacs

Il se peut que le script d’initialisation d’emacs par défaut contienne des instructions qui empêchent la bonne installation de tuareg, le mode emacs pour OCaml. Faites une copie de sauvegarde de votre fichier .emacs d’origine (ou effacez-le si vous n’y avez jamais touché jusqu’à présent), et réinitialisez-le

mv ~/.emacs ~/.emacs.copie_de_sauvegarde
touch ~/.emacs

Vérifier l’installation des packages

Vous avez opam qui fonctionne, et vous avez installé les packages

opam install tuareg caml-mode merlin utop ocp-indent user-setup

en répondant y à la question “continue?”. Si tout s’est bien passé, vous devriez avoir maintenant un répertoire ~/.opam/ qui contient pas mal de choses. Pour que votre système sache où les trouver, il faut que les scripts d’initialisations connaissent ce répertoire. La ligne à rajouter dans votre .profile est

eval $(opam env)

Normalement elle y a été ajoutée automatiquement quand vous avez fait opam init, mais si ce n’est pas le cas rajoutez-là et tapez-là aussi dans votre shell courant pour qu’elle prenne effet dans ce shell.

Maintenant, si vous tapez

which ocaml

vous devriez voir $HOME/.opam/default/bin/ocaml, où $HOME est le chemin absolu vers la racine de votre compte.

Vérifier l’installation de tuareg

Lancez emacs et créez un fichier test.ml (C-x C-f). Vous devriez avoir basculé dans le mode tuareg et le voir écrit dans la barre du bas et dans le menu. Si ce n’est pas le cas, c’est que quelque chose ne va pas.

Refaire l’installation de tuareg

Purgez votre .emacs (voir plus haut) puis réinstallez user-setup (trois commandes à taper)

opam uninstall user-setup
opam install user-setup
opam user-setup install