[Tutorial] Script de instalación para ROOT

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

[Tutorial] Script de instalación para ROOT

Mensaje por Yn$an€ »

Hola amigos. Luego de un tiempo sin pasarme por aquí os traigo un script chapucero para instalar ROOT, el framework de análisis de datos desarrollado en el CERN, junto con su versión en python y las librerías para compilar programas en C++.

La plataforma está pensada para el uso por parte de físicos, o alguien con necesidades de una herramienta extremadamente potente y extensible, y necesita de conocimientos de programación relativamente altos. Aunque para compensar esto existen numerosos ejemplos en la web oficial: http://root.cern.ch/

Imagen


Código: Seleccionar todo

#!/bin/bash

ROOT_EXEC=/usr/bin/root
ROOT_SOURCE="ftp://root.cern.ch/root/root_v5.34.00.source.tar.gz"


function install {
   ####Permisos####
   echo
   if [[ $UID -ne 0 ]]; then
      echo "$0 must be run as root"
      echo
      exit 86
   fi

   ####Dependencias####
   echo "Installing dependencies..."
   apt-get -y install subversion dpkg-dev make\
      g++ gcc binutils libx11-dev libxpm-dev libxft-dev \
      libxext-dev gfortran libssl-dev libpcre3-dev \
      xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
      libmysqlclient-dev libfftw3-dev cfitsio-dev \
      graphviz-dev libavahi-compat-libdnssd-dev \
      libldap2-dev python-dev libxml2-dev libkrb5-dev \
      libgsl0-dev libqt4-dev
   
   ####Fuentes####
   wget  $ROOT_SOURCE
   tar -zxvf $(basename $ROOT_SOURCE)
   rm $(basename $ROOT_SOURCE)

   ####Instalación####
   mkdir root_inst
   cd root_inst
   ../root/configure --enable-python --prefix=/usr --enable-rpath
   make -j `grep processor /proc/cpuinfo | wc -l`
   make install
   ldconfig
   cp bindings/pyroot/ROOT.py /usr/lib/python2.7/
   cp lib/pyroot/libPyROOT.so /usr/lib/python2.7/
   cd ..
   rm -R root
   rm -R root_inst
}




####Comprobación####

if [ -e $ROOT_EXEC ]; then   
   #export LD_LIBRARY_PATH=$ROOTSYS/lib:$PYTHONDIR/lib:$LD_LIBRARY_PATH
   #export PYTHONPATH=$ROOTSYS/lib:$PYTHONPATH
   echo
   echo "Done, enviroment set up!"
   echo
else
   echo "Proceeding to installation"
   cd `dirname $0`
   install
fi


La verdadera razón de ser del script es instalar los bindings de python, ya que la mayoría de la gente que me he encontrado (el 100%, para ser exactos) no es capaz de hacerlos funcionar a causa de las librerías compartidas. Esas que yo pongo en una ubicación no estándar :juasjuas:

No puedo adjuntarlo, porque PHPBB, de forma muy educada me dice que no está permitido (es normal, por razones de seguridad más que obvias), así que tenéis que conformaros con el texto.

Cualquier error en el script avisad, que es posible que alguno se me escapase en el momento de revisarlo.

-- Doble Post --

Que lo muevan a tutos, que me he equivocado de subforo xD

-- Doble Post --

Gracias :)
... after all, we're all alike.

Responder