Compilación, instalación y configuración

Estas son algunas notas sobre la compilación e instalación de software en el servidor del Grupo de Altas Energías de los Andes. Esta guia puede ser utilizada en general para cualquier maquina.

Convención

  • Todos los programas opcionales se instalan en /opt/. Dentro de esta partición, el software de Física de Partículas uso genérico se instala en /opt/hepsw/, mientras que el software de CMS va en /opt/cmssw/. Hemos elegido la siguiente convención para la instalación de software genérico: el nombre del directorio en que queda instalado el programa lleva el nombre del paquete en minúsculas. Dentro de este directorio, se crea un subdirectorio que hace referencia a la versión y se adiciona o actualiza un link simbólico a la versión de producción con nombre pro. Por ejemplo, tenemos esto para el paquete HepMC:

cd /opt/hepsw/hepmc/
ls -l
lrwxrwxrwx 1 root root    8 Nov 17  2011 pro -> v2.06.05
drwxr-xr-x 5 root root 4096 Jan 31  2011 v2.06.04
drwxr-xr-x 5 root root 4096 Nov 17  2011 v2.06.05

  • La instalación del software debe hacerse desde la cuenta del administrador del sistema.

Software

HepMC

Es pre-requisito de Pythia8. Descargar la ultima versión del sitio HepMC y proceder. Por ejemplo:

# ... preparativos
mkdir /opt/hepsw/hepmc/
cd /opt/hepsw/hepmc/
mkdir v_2.06.06
ln -s v_2.06.06 pro

Ahora podemos compilar en un directorio temporal:

cd /opt/hepsw/builds
mv ~/Downloads/HepMC-2.06.06.tar.gz .
tar xzvf HepMC-2.06.06.tar.gz
cd HepMC-2.06.06
./configure --prefix=/opt/hepsw/hepmc/pro --with-momentum=GEV --with-length=MM
make
make install

Pythia8

  • Es pre-requisito si queremos que ROOT compile con la interface a Pythia8
  • Descargar el código fuente de la pagina principal de este generador de eventos Torbjörn Sjöstrand
  • Descomprimir el archivo en el directorio en donde tendremos la librería

cd /opt/hepsw/pythia8/
mv ~/Downloads/pythia8165.tgz .
tar xzvf pythia8165.tgz
ln -s pythia8165 pro

  • La ultima instrucción crea un link simbólico a esta versión con el nombre genérico pro.
  • Ahora corremos el script configure con la siguientes opciones:

./configure --enable-shared --with-hepmc=/opt/hepsw/hepmc/pro --with-hepmcversion=2.06.06

  • Las dos ultimas opciones permite utilizar la librerias de HepMC . Nota hay que dar manualmente la version y obviamente el paquete debe estar previamente instalado.

  • Ahora ejecutar make (este no requiere de make install)

ROOT

  • Descargar la versión de producción deseada del web site de ROOT: Downloading ROOT
  • Descomprimir el paquete en un directorio temporal

cd /opt/hepsw/builds
mv ~/Downloads/root_v5.34.00.source.tar.gz .
tar xzvf root_v5.34.00.source.tar.gz
cd root

mv ~/Downloads/setRoot_Options.py.txt .
mv setRoot_Options.py.txt setRoot_Options.py
chmod +x setRoot_Options.py

  • Este script ejecuta el comando configure, pasando las opciones típicas que necesitamos.
  • Revisar que las opciones sean las correctas
  • Ejecutarlo:

./setRoot_Options.py

  • Por ejemplo, este script contiene la opción --prefix=/opt/hepsw/root/pro la cual indica el lugar donde quedara instalado ROOT. No olvidar que físicamente, ROOT quedará instalado en /opt/hepsw/root/v_X_XX_X según se discutió en la primera sección de este documento.

  • Revisar la lista de opciones con la que ha quedado la configuración de ROOT para ver si todo está en orden (por ejemplo revisar que se compilará la interface a Pythia8 etc).

  • Ahora ejecutar make y si todo sale bien -no ocurren errores de compilación- make install para que se copien librerías, binarios y otros archivos al destino de instalación.

CMSSW

  • Para instalar una version de CMSSW, se requiere hacer login en la maquina como el usuario administrador de cmssw
  • El software de CMS queda en el directorio /opt/cmssw
  • Una vez se ha ingresado, hacer los siguientes pasos:

cd
cd cmssw/
gangaenv
Setting Ganga environment:
  5.7.10
Enter your choice [q]quit, [5.7.10] : 

Setting up Ganga 5.7.10 (sh,generic)
ganga -i installCMSSW.py -v 6_X_X

  • Este script de Ganga, toma como argumento la versión de CMSSW requerida y ejecuta la instalación en modo batch.

  • NOTA: revisar que la variable SCRAM_ARCH sea la correcta para la versión requerida.

  • Para des-instalar alguna versión ya obsoleta y que no esta en uso por alguno de los miembros del grupo, se pueden seguir los siguientes pasos (siempre desde la cuenta del usuario administrador de cmssw):

cd /opt/cmssw
source set-aptget-env.sh
apt-get remove cms+cmssw+CMSSW_X_Y_Z

  • Para completar, uno debe manualmente remover directorio en donde se encontraba instalado el software (este directorio debe encontrarse vacio, por lo que basta hacer un rmdir):

cd $SCRAM_ARCH/cms/cmssw
rmdir CMSSW_X_Y_Z

  • NOTA: El procedimiento aqui descrito esta automatizado. Por referencia sobre lo que ocurre en el fondo ver CMSUniandesGroupLaptop

Otro software

Por lo común todos los demas programas (listados en la tabla en CMSUniandesGroupComputing) se instalan siguiendo las instrucciones y siguiendo tipicamente los pasos configure, make y make install. Leer los archivos README e INSTALL con los que tipicamente viene cualquier paquete.

En adicion a los tres paquetes anteriores, este es un listado del software que tenemos instalado:

Configuración

Los usuarios del servidor, segun su perfil (cms o no-cms: ver Configuracion), correrán scripts de configuración del software disponible. En otras palabras un usuario de CMS necesita un entorno diferente a quien simplemente necesita ROOT o Pythia. Esta configuración se controla mediante algunos scripts de manera que desde el punto de vista de los usuarios, no haya que hacer modificaciones importantes.

  • Para usuarios de CMS: /opt/cmssw/cmssw-env.sh
  • Para otros usuarios: /opt/hepsw/hepsw-env.sh

El esquema de configuración que funciona cada vez que un usuario empieza un shell en el servidor es el siguiente:

flowchar-hepadmin.png

  • el script zzz_hepix.sh(csh) se ejecuta cada vez que inicia un shell y busca por el contenido del archivo $USER/.hepix/cms. Si este archivo contiene el texto "yes" entonces se configura el shell para CMSSW ; si es "no" o si el archivo no existe, entonces se configura el shell para un usuario en general.

  • Cualquier adición o modificación en el software debe hacerse en estos dos scripts según sea el caso requerido.


-- AndresOsorio - 12-Jun-2012

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng flowchar-hepadmin.png r1 manage 41.9 K 2012-06-19 - 16:37 AndresOsorio control
Texttxt setRoot_Options.py.txt r2 r1 manage 1.5 K 2012-06-13 - 01:22 AndresOsorio Un wrapper para el configure
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2012-06-21 - AndresOsorio
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback