Alcuni compilatori e linker (gcc_4.6.3-4.7.2-4.7.3, linker ld_2.23, versioni a 64bit), tipicamente forniti con Ubuntu_12.10-13.04, richiedono opzioni aggiuntive per utilizzare correttamente le librerie necessarie e/o crearle; i particolari sono descritti nel seguito.

- La lista delle librerie, preceduta dai relativi path, deve essere inclusa dopo la lista delle sorgenti (files .cc) e non prima. La creazione di un eseguibile a partire da un insieme di sorgenti che utilizzano ROOT richiede di spezzare l'istruzione `root-config ...` in due parti:

c++ -Wall -o exeName `root-config --cflags` *.cc `root-config --libs`

- La creazione di librerie richiede l'opzione -fPIC :

c++ -Wall -I... -fPIC --shared -o libName.so *.cc

- Le librerie vengono caricate, per default, solo se contengono funzioni chiamate esplicitamente nelle sorgenti compilate in modo statico; le librerie che istanziano oggetti i quali si autoregistrano vengono quindi ignorate. Per forzare il caricamento delle librerie elencate è necessario specificare una opzione apposita per il linker -Wl,--no-as-needed

c++ -Wall -I... -o exeName *.cc -L... -Wl,--no-as-needed -l...

=================================================================

Negli esempi per i quali quanto detto sopra è effettivamente importante viene fornito, in aggiunta allo script compile, un secondo script compile_mod in cui sono incluse le opzioni descritte. Gli esempi interessati sono:

- tutti gli esempi particleDisc_vXX ,

- tutti gli esempi particleReco_vXX ,

- gli esempi util/src/random .

Nel caso si utilizzi uno dei compilatori/linker elencati all'inizio, gli accorgimenti descritti devono essere utilizzati per il corretto svoglimento di tutti gli esercizi braggPlot_vXX.

Gli accorgimenti descritti non sono necessari per l'esecuzione dei programmi d'esempio ed il corretto svoglimento degli esercizi sulle macchine dell'aula informatica presso l'edificio “Paolotti”; il loro utilizzo anche nelle situazioni in cui non fosse necessario non dovrebbe comunque creare problemi.

Gli accorgimenti descritti non sono necessari per l'esecuzione dei programmi d'esempio ed il corretto svoglimento degli esercizi sul server spiro.fisica.unipd.it, ferma restando la possibilità di utilizzarli comunque. Indipendentemente da quanto sopra, nella compilazione possono comparire messaggi di avviso su possibili incompatibilità tra librerie, dovuti a ROOT; viene però prodotto ugualmente un eseguibile funzionante. Non sono state effettuate prove con le singole macchine dell'aula informatica presso il polo didattico di via Loredan.