Skip to content

Instantly share code, notes, and snippets.

@dinigo
Last active December 24, 2015 09:09
Show Gist options
  • Select an option

  • Save dinigo/6775701 to your computer and use it in GitHub Desktop.

Select an option

Save dinigo/6775701 to your computer and use it in GitHub Desktop.
veins framework for omnetpp install and bootstrap script
#!/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