Cómo instalar el software NS2

Network Simulator 2 (NS2) es un programa diseñado para permitir la simulación de escenarios de redes sin tener el hardware real. Se puede utilizar para probar muchos aspectos de un entorno de red, incluido el desarrollo de nuevos protocolos.

El programa en sí mismo es notoriamente difícil de instalar y se ejecuta en Windows (usando Cygwin o la versión nativa de Windows) o Linux. Para el propósito y la funcionalidad de NS2, Cygwin es el método preferido para ejecutar NS2 dentro de Windows.
Para la instalación en Windows ver:
http://mohit.ueuo.com/Installati…

Daré una breve idea sobre la instalación en Linux.
Si desea instalar en Ubuntu, es más fácil instalarlo en la versión anterior de Ubuntu que en la nueva.
Nueva versión de Ubuntu que da muchos errores durante la instalación.

Voy a enumerar el comando que se utiliza para instalar en Ubuntu 13.10

Instalación de ns-2.34 en Ubuntu 13.10 ..

—PASO 1: Instale los archivos de desarrollo para X Windows más el compilador de g ++:
– $ sudoapt-get update
$ sudo apt-get install xorg-dev g ++ xgraph

—PASO2: Instalar para ver actualizaciones

$ sudoapt-get install build-essential autoconf automake libxmu-dev

Paso 3:
$ sudo apt-get install xorg-devg ++ xgraph

Paso 4: descargando ns-2.34
http://sourceforge.net/projects/…
Descargue el archivo en la ubicación deseada

—Paso 5:
Extraiga el archivo con el comando
$ tar -xvf ns-allinone-2.34.tar.gz
Cambio de directorio
$ cd ns-allinone-2.34

Paso 6:
Verifique su versión del compilador gcc
$ gcc –version

—Paso 7:
Establecer ruta e instalación
$ export CC = gcc-4.7.2 CXX = g ++ – 4.7.2 && ./install

—Paso 8:
Establecer variables de entorno
$ gedit ~ / .bashrc

Configuración de ruta
# LD_LIBRARY_PATH
OTCL_LIB = / your / path / ns-allinone-2.34 / otcl-1.14
NS2_LIB = / your / path / ns-allinone-2.34 / lib
X11_LIB = / usr / X11R6 / lib
USR_LOCAL_LIB = / usr / local / lib
export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: $ OTCL_LIB: $ NS2_LIB: $ X11_LIB: $ USR_LOCAL_LIB
# TCL_LIBRARY
TCL_LIB = / your / path / ns-allinone-2.34 / tcl8.5.10 / library
USR_LIB = / usr / lib
exportar TCL_LIBRARY = $ TCL_LIB: $ USR_LIB
# CAMINO
XGRAPH = / your / path / ns-allinone-2.34 / bin: /your/path/ns-allinone-2.35/tcl8.5.10/unix: /your/path/ns-allinone-2.34/tk8.5.10/unix
NS = / your / path / ns-allinone-2.34 / ns-2.34 /
NAM = / your / path / ns-allinone-2.34 / nam-1.15 /
export PATH = $ PATH: $ XGRAPH: $ NS: $ NAM
Guarde y use el comando $ source ~ / .bashrc

Si no recibe ningún error durante la instalación, finalice la instalación, lo que proporciona la ruta y el mensaje de éxito en el terminal.

Error durante la instalación

—Error 1 :: Soluciona el error en la vinculación de otcl editando la línea 6304 de otcl-1.13 / configure para que se lea
SHLIB_LD = “gcc-shared”
en lugar de
SHLIB_LD = “ld-shared”

—Error 2 :: Luego, edite el archivo ns-2.34 / tools / ranvar.cc y cambie la línea 219 de
Devuelve GammaRandomVariable :: GammaRandomVariable (1.0 + alpha_, beta _). Value () * pow (u, 1.0 / alpha_);
a
return GammaRandomVariable (1.0 + alpha_, beta _). value () * pow (u, 1.0 / alpha_);

—Error 3 :: A continuación, cambie las líneas 183 y 185 en el archivo ns-2.34 / mobile / nakagami.cc para leer
—ResultPower = ErlangRandomVariable (Pr / m, int_m) .value ();
y
resultPower = GammaRandomVariable (m, Pr / m) .value ();

—Error 4 ::
—Linkstate / ls.h: 137: 58: error: ‘borrar’ no se declaró en este ámbito, y no se encontraron declaraciones por búsqueda dependiente de argumentos en el punto de instanciación [-permisivo] nulo eraseAll () {erase (baseMap :: begin (), baseMap :: end ()); }
– linkstate / ls.h: 137: 58: nota: declaraciones en base dependiente ‘std :: map <int, LsIdSeq, std :: less , std :: allocator <std :: pair >> ‘no se encuentra en la búsqueda no calificada linkstate / ls.h: 137: 58: nota: use’ this-> erase ‘en su lugar make: *** [linkstate / ls.o] Error 1 Ns make fallido!

—Error 5 :: tengo que editar la línea número 137 de ns-2.35 / linkstate / ls.h desde
void eraseAll () {erase (baseMap :: begin (), baseMap :: end ()); }
a
void eraseAll () {this-> erase (baseMap :: begin (), baseMap :: end ()); }

Error 6 ::
En el archivo incluido desde mac / mac-802_11Ext.cc: 66: 0:
mac / mac-802_11Ext.h: en la función miembro ‘u_int32_t PHY_MIBExt :: getHdrLen11 ()’:
mac / mac-802_11Ext.h: 175: 19: error: expresión primaria esperada antes de ‘struct’
mac / mac-802_11Ext.h: 175: 41: error: ‘dh_body’ no se declaró en este ámbito
mac / mac-802_11Ext.h: 175: 51: error: ‘offsetof’ no se declaró en este ámbito
mac / mac-802_11Ext.h: 177: 3: advertencia: el control llega al final de la función no nula [-Wreturn-type]
make: *** [mac / mac-802_11Ext.o] Error 1
Ns falló!

Solución:
En mac / mac-802_Ext.h, línea 65
-#incluir
-o
——Sudoapt-get install libperl4-corelibs-perl o
si tienes instalado apt-fast entonces
sudo apt-fast install libperl4-corelibs-perl

—Error 7 ::
—Mobile / nakagami.cc: en la función miembro ‘virtual double Nakagami :: Pr (PacketStamp *, PacketStamp *, WirelessPhy *)’:
mobile / nakagami.cc: 183: 73: error: no se puede llamar al constructor ‘ErlangRandomVariable :: ErlangRandomVariable’ directamente [-fpermissive]
mobile / nakagami.cc: 183: 73: error: para una conversión de estilo de función, elimine el redundante ‘:: ErlangRandomVariable’ [-fpermissive]
mobile / nakagami.cc: 185: 67: error: no se puede llamar al constructor ‘GammaRandomVariable :: GammaRandomVariable’ directamente [-fpermissive]
mobile / nakagami.cc: 185: 67: error: para una conversión de estilo de función, elimine el redundante ‘:: GammaRandomVariable’ [-fpermissive]
make: *** [mobile / nakagami.o] Error

Solución:
—En ns-2.34 / mobile / nakagami.cc,
—If (int_m == m) {
resultPower = ErlangRandomVariable :: ErlangRandomVariable (Pr / m, int_m) .value ();
} más {
resultPower = GammaRandomVariable :: GammaRandomVariable (m, Pr / m) .value ();
}
return resultPower; }
—Reemplaza lo anterior con:
—If (int_m == m) {
resultPower = ErlangRandomVariable (Pr / m, int_m) .value ();
} más {
resultPower = GammaRandomVariable (m, Pr / m) .value ();
}
return resultPower;
}

A veces, el error puede tener un orden diferente.

revisa este blog para el procedimiento de instalación
Instalación de NS 2 en ubuntu 12 o 13 o! 4

Puedes consultar sus manuales. De lo contrario, Google en internet. También comprobaré cómo podemos instalarlo. Si recibo alguna actualización, se lo haré saber.

Míralo en yourube \ U0001f609