Zuerst loggen wir uns auf unserer buffalo als root per SSH ein.
tux@earth:~$ ssh root@buffalo
Dann installieren wir die benötigten Pakete mit ipkg, welche wir zum Kompilieren von unison benötigen.
root:~# ipkg update
root:~# ipkg make ocaml gcc
Nun laden wir uns die Quellen von unison-2.32.52 herunter und entpacken diese.
root:~# cd ~/tmp/
root:~/tmp# wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/unison-2.32.52/unison-2.32.52.tar.gz
root:~/tmp# tar xzvf unison-2.32.52.tar.gz
root:~/tmp# cd unison-2.32.52/
Vor der unison Version 2.40.63
müssen wir noch die Datei update.mli fixen. Dazu gehen wir zu der Zeile 4 und ersetzen Map.S mit MyMap.S.
root:~/tmp/unison-2.32.52# vi update.mli
<- module NameMap : Map.S with type key = Name.t
-> module NameMap : MyMap.S with type key = Name.t
Nun können wir unison wie folgt kompilieren. Es wird am Ende eine Fehlermeldung über etags auftauchen, welche wir aber ignorieren können.
root:~/tmp/unison-2.32.52# make clean
root:~/tmp/unison-2.32.52# make mkProjectInfo
root:~/tmp/unison-2.32.52# make NATIVE=false UISTYLE=text CFLAGS="-cclib -L/lib"
Dann kopieren wir unison nach /usr/bin/
.
root:~/tmp/unison-2.32.52# cp unison /usr/bin/
Abschließend testen wir unser kompiliertes unison.
root:~/tmp/unison-2.32.52# unison -version
unison version 2.32.52