Last active
December 24, 2015 09:09
-
-
Save dinigo/6775701 to your computer and use it in GitHub Desktop.
veins framework for omnetpp install and bootstrap script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Se asegura de que se ha elegido bien la carpeta de instalación. | |
| # Debería encontrarse en un sitio como /usr/bin o ~/.local/bin o ~/bin. | |
| # Tambien puedes instalarlo en el escritorio, pero añadir cosas | |
| # al path desde el escritorio es cutre cutre. | |
| while true | |
| do | |
| read -r -p "Se instalará OMNeT++ en la carpeta `pwd`. Desea continuar? (y/n)" choice | |
| case $choice in | |
| n|N|no|NO|No) exit;; | |
| y|Y|yes|YES|Yes|s|S|si|SI|Si) break;; | |
| esac | |
| done | |
| ########################################### | |
| echo "Añadiendo repos" | |
| sudo add-apt-repository ppa:webupd8team/java | |
| sudo add-apt-repository ppa:sumo/stable | |
| echo "---> Actualizando repos" | |
| sudo apt-get update -qq | |
| ########################################### | |
| echo "Instalando dependencias" | |
| sudo apt-get install -qq bison flex build-essential zlib1g-dev tk8.4-dev blt-dev libxml2-dev libpcap0.8-dev autoconf automake libtool libxerces-c2-dev libgdal1-dev libfox-1.6-dev git | |
| ########################################### | |
| echo "Instalando Java de SUN" | |
| sudo apt-get install -qq oracle-java7-installer | |
| sudo apt-get install -qq oracle-java7-set-default | |
| ########################################### | |
| echo "Instalando SUMO" | |
| sudo apt-get install -qq sumo sumo-tools sumo-doc | |
| ########################################### | |
| echo "Instalando OMNeT++" | |
| echo "---> Descarga omnetpp" | |
| wget -O omnet.tgz http://www.omnetpp.org/omnetpp/doc_download/2266-omnet-431-source--ide-tgz | |
| tar -zxf omnet.tgz | |
| cd omnetpp-4.3.1 | |
| echo "---> Declara variables de entorno, configura y compila" | |
| # Declara variables para compilar | |
| omnetpp_root=`pwd` | |
| echo $omnetpp_root | |
| export PATH=$omnetpp_root/bin:$PATH | |
| export LD_LIBRARY_PATH=$omnetpp_root/lib:$LD_LIBRARY_PATH | |
| export HOSTNAME | |
| export HOST | |
| # Añade al .bash_profile una variable de entorno necesaria para ejecutar TKenv | |
| grep -L "TCL_LIBRARY" $HOME/.bash_profile && echo "export TCL_LIBRARY=/usr/share/tcltk/tcl8.5" >> $HOME/.bash_profile | |
| ./configure | |
| # Compila en modo quiet para una máquita de dos nucleos o más. | |
| make -q -j2 | |
| echo "---> Añade la carpeta de ejecutables al path" | |
| # Añade la carpeta con los ejecutables al PATH en .bash_profile y actualiza el archivo | |
| grep -L "`pwd`/bin" $HOME/.bash_profile && echo "export PATH=$PATH:`pwd`/bin" >> $HOME/.bash_profile | |
| source $HOME/.bash_profile | |
| ########################################### | |
| echo "Instalando Veins" | |
| echo "---> Descarga Veins" | |
| git clone https://github.com/sommer/mixim-sommer.git -b veins | |
| echo "---> Compila Veins" | |
| cd mixim-sommer/ | |
| make -q -f makemakefiles CONFIGNAME=gcc-debug | |
| make -q all | |
| echo "---> Añade alias para Veins" | |
| chmod a+x sumo-launchd.py | |
| cd ../bin/ | |
| ln -s ../mixim-sommer/sumo-launchd.py sumo-launchd | |
| if [ ! -f $HOME/.bash_aliases ]; then | |
| echo "source .bash_aliases" >> $HOME/.bashrc | |
| fi | |
| grep -L "veins" $HOME/.bash_aliases && echo "alias veins='omnetpp && sumo-launchd -vv -c sumo'" >> $HOME/.bash_aliases | |
| source $HOME/.bash_aliases | |
| ########################################## | |
| echo "Limpiando" | |
| cd ../../ | |
| rm omnet.tgz | |
| echo " Para completar la instalación importa el proyecto de Veins desde OMNeT++" | |
| echo " El proyecto se encuentra en la propia carpeta de omnetpp" | |
| echo " Ahora puede invocar **veins** y **omnetpp**" | |
| read -p " Pulse una tecla para continuar...\n" -n1 -s | |
| veins |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment