Installazione Root su Ubuntu
Installazione Root su Ubuntu
Istruzioni fornite da Mosè Giordano (DA AGGIORNARE....).
Il programma può essere installato in almeno tre modi differenti:
usando la versione presente nei repository di Ubuntu, compilando il
sorgente oppure utilizzando il programma precompilato presente sul
sito.
A) Per installare la versione di ROOT presente nei repository di
Ubuntu è sufficiente installare dal gestore pacchetti il pacchetto
"root-system" (la descrizione riporta "ROOT Object Oriented
Technologies"), oppure da terminale con il comando
sudo apt-get install root-system
Il problema è che in questo modo verrà installata una versione molto
vecchia (la 5.18, rilasciata il 17 gennaio 2008), non so se sia in
grado di interpretare correttamente la macro GenFit.C.
B) La compilazione del codice sorgente è piuttosto lunga (su computer
poco potenti può richiedere anche diverse ore). Non riporto qui i
dettagli delle operazioni da fare per compilare il programma, comunque
all'indirizzo http://www.fisica.unisalento.it/~giordano/allow_listing/build_root.sh
ho caricato uno script che dovrebbe automatizzare la compilazione del
programma. Lo script dovrebbe funzionare su Ubuntu a 32 e 64 bit e
anche sul sistema operativo Debian (personalmente ho potuto testarlo
solo su Ubuntu a 32 bit).
C) L'ultima possibilità è utilizzare il programma precompilato
presente sul sito.
1) Dopo aver selezionato la versione da utilizzare dalla pagina dei
download http://root.cern.ch/drupal/content/downloading-root (per
esempio la versione raccomandata a oggi, cioè la 5.28, quindi si
aprirà la pagina
http://root.cern.ch/drupal/content/production-version-528 ), scendere
fino in fondo alla pagina fino alla sezione "Binaries".
2) Scaricare uno fra gli archivi presenti sotto "Linux SLC5" che
utilizzano gcc 4.3 (la versione 3.4 risale a più di quattro anni fa,
comunque il programma dovrebbe poter essere eseguito ugualmente) a
seconda dell'architettura del proprio sistema: "ia32" per un sistema a
32 bit, "x86-64" per un sistema a 64 bit.
3) Aprire la cartella in cui si è scaricato l'archivio e
scompattarlo. È consigliabile mettere la cartella in cui si trova ROOT
in una posizione da cui non verrà più spostato successivamente (il
perché sarà chiaro al punto 7).
4) Aprire un terminale e spostarsi nella cartella "root/" in cui si
è scompattato l'archivio.
5) Avviare ROOT specificando il percorso dell'eseguibile "root"
presente in "root/bin/". Se nel terminale ci si è posizionati nella
cartella "root/" è sufficiente dare il comando
bin/root
6) Per poter utilizzare la macro GenFit.C, ROOT ha bisogno di alcune
librerie. Sono tutte presenti in un'installazione normale di Ubuntu
oppure presenti nella sottocartella "lib/" di "root/". Tuttavia in
Ubuntu ROOT potrebbe avere problemi perché cerca un paio di librerie
presenti nel sistema con nomi diversi da quelli richiesti da ROOT. In
particolare il programma ha bisogno di "libpcre.so.0" e
"libtiff.so.3", mentre in Ubuntu sono presenti "/lib/libpcre.so.3" e
"/usr/lib/libtiff.so.4". È sufficiente copiare questi due file nella
sottocartella "root/lib/" con i nomi, rispettivamente, "libpcre.so.0"
e "libtiff.so.3". Questa operazione può essere eseguita anche da
terminale, dopo essersi posizionati nella cartella "root/", con i
comandi
cp /lib/libpcre.so.3 lib/libpcre.so.0
cp /usr/lib/libtiff.so.4 lib/libtiff.so.3
A questo punto dovrebbe essere possibile utilizzare la macro GenFit.C
7) Per poter avviare da terminale ROOT da qualsiasi posizione con il comando
root
senza dover specificare tutto il percorso dell'eseguibile si consiglia
di creare un alias. Aprire con un editor di testo il file (nascosto)
"~/.bashrc" e aggiungere in fondo al file la seguente istruzione:
alias root='/percorso/di/ROOT/bin/root'
sostituendo a "/percorso/di/ROOT/" il percorso in cui si è scompattato
l'archivio scaricato. Per esempio, se si è scompattato l'archivio
nella propria home, il percorso della cartella "root/" sarà "~/root" e
quindi l'istruzione da inserire nel file "~/.bashrc" è
alias root='~/root/bin/root'
Se invece si è scompattato l'archivio in "~/Scrivania", il percorso
della cartella "root/" sarà "~/Scrivania/root" e in "~/.bashrc" si
aggiungerà
alias root='~/Scrivania/root/bin/root'
Aprendo un nuovo terminale sarà possibile, come preannunciato, avviare
ROOT dando semplicemente il comando
root
da qualsiasi posizione. Se la cartella "root/" verrà spostata sarà
necessario cambiare l'alias definito in "~/.bashrc", per questo motivo
si è suggerito al punto 3 di mettere la cartella in una posizione
definitiva.
(E.G., commento: invece di definire un alias è possibile, e più corretto, aggiungere il percorso della cartella bin di root alla variabile di environment PATH. Questo dirà al sistema di cercare il comando digitato anche in quel directory. per farlo nel tcsh dovrebbe essere
setenv ROOTSYS ~/root
setenv PATH ".:${PATH}:$ROOTSYS/bin:"
setenv LD_LIBRARY_PATH "${ROOTSYS}/lib"
da mettere in ~/.tcshrc. Per il bash shell (ma controllate perché non lo uso) credo che sia
set ROOTSYS=~/root/
set PATH=".:${PATH}:$ROOTSYS/bin:"
set LD_LIBRARY_PATH="${ROOTSYS}/lib"
da mettere in ~/.bashrc
la terza riga consente anche di caricare correttamente le dinamic libraries.)
All'indirizzo http://www.fisica.unisalento.it/~giordano/allow_listing/install_root.sh
ho caricato uno script che automatizza tutti i passaggi descritti in
quest'ultimo metodo e in più crea un lanciatore per poter avviare il
programma dal menu delle applicazioni. Ho fatto in modo che funzioni
solo su Ubuntu a 32 bit perché le operazioni descritte al punto 6
potrebbero non funzionare oppure non essere necessarie in altri
sistemi operativi. Per utilizzare ugualmente lo script in altri
sistemi è sufficiente commentare pochi righi (sono indicati nei
commenti).