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