jueves, 19 de febrero de 2009

INSTALACION DE NS2 EN UBUNTU 7.10

Para la instalación del simulador de redes ns-2, consulté varias paginas de google pero ninguna acertaba, ya que al ingresar el comando: sudo apt-get install build-essential autoconf automake libxmu-dev, presentaba los siguientes errores:

Dependencia de paquetes de libc6 y g++:

cesar@cesar:~$ sudo apt-get install build-essential autoconf automake libxmu-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have unmet dependencies:
build-essential: Depends: libc6-dev but it is not going to be installed or
libc-dev
libstdc++6-4.1-dev: Depends: libc6-dev (>= 2.3.6-7) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).


Para quitar estos errores lo solucioné con el comando aptitude


Para descargar los paquetes correspondientes se elige la opcion g:

Se selecciona el paquete libc6 para su instalación u actualización, donde se instalará con todos los paquetes de dependencia.


Es necesario convertirse en administrador para la instalación del paquete

En la siguiente imagen se muestra el inicio de descarga del paquete


INSTALACION DE NS-2.31


Luego de resolver la dependencia de paquetes seguí los siguientes pasos basándome en esta pagina.

Existen varias formas de instalarar ns-2 pero esta es la que yo seguí y me funcionó perfectamente.

  1. Descargar e instalar ns2.31

$ wget http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.31.tar.gz

  • Descomprimir el archivo e ir al directorio donde se descomprimió.

$ tar -xzvf ns-allinone-2.31.tar.gz
$ cd ns-allinone-2.31
$ sudo apt-get install build-essential autoconf automake libxmu-dev

  • Luego correr el siguiente comando para la instalación

$./install


Despues que termine la instalación debe presentar un mensaje como se muestra a continuación:


    También se presentará la información siguiente, que servirá para ayuda de configuración de las variables de entorno. Punto 2



    1. Configurar variables de entorno

    Añadir las siguientes lineas al archivo .bashrc

    $ gedit ~/.bashrc

    Añadir el siguiente codigo al final del archivo. Sustituir
    /home/cesar/” por la ruta de su directorio home, como por ejemplo“/home/su nombre de usuario/

    • # LD_LIBRARY_PATH
      OTCL_LIB=/home/cesar/ns-allinone-2.31/otcl-1.13
      NS2_LIB=/home/cesar/ns-allinone-2.31/lib
      X11_LIB=/usr/X11R6/lib
      USR_LOCAL_LIB=/usr/local/lib
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$X11_LIB:$USR_LOCAL_LIB

      # TCL_LIBRARY
      TCL_LIB=/home/cesar/ns-allinone-2.31/tcl8.4.14/library
      USR_LIB=/usr/lib
      export TCL_LIBRARY=$TCL_LIB:$USR_LIB

      # PATH
      XGRAPH=/home/cesar/ns-allinone-2.31/bin
      XGRAPH=$XGRAPH:/home/cesar/ns-allinone-2.31/tcl8.4.14/unix
      XGRAPH=$XGRAPH:/home/cesar/ns-allinone-2.31/tk8.4.14/unix
      NS=/home/cesar/ns-allinone-2.31/ns-2.31/
      NAM=/home/cesar/ns-allinone-2.31/nam-1.13/
      PATH=$PATH:$XGRAPH:$NS:$NAM
    • Recargar el archivo .bashrc con el siguiente comando:
      $source .bashrc o $ source ~/.bashrc
    • Luego reiniciar el equipo, y despues ejecutar el comando:
      $ ns

    Para terminar se digita exit, si no da ningún error esto prueba que la instalación de ns es correcta



    3. Validación

    Dentro del directorio ns-allinone-2.31:

    $ cd ns-2.31
    $ ./validate

    • Inicio Validación.
      Esto puede tardar varias horas…

    • Fin de la validación

    • Acerca del programa tcl/tk

    Para saber si está instalado correctamente tcl/tk digitar:

    tclsh

    y luego:

    info patchlevel

    • Instalar emacs para editar los archivos .tcl

    $sudo apt-get install emacs

    Si todos los pasos se ejecutaron correctamente y no dió ningún error, se ha instalado el programa ns2


    En una siguiente entrada se mostrará como ejecutar un archivo .tcl...

    PD: Cualquier duda me la pueden hacer conocer, estaré dispuesta a ayudarles en lo que este a mi alcance.