Installing Network Simulator 2 in Ubuntu

by karthikselvakumar


Are you baffled by random errands saying ”  ns2 doesn’t work on ubuntu ” and so ?

Are you a linux geek don’t wanna boot to windows for network simulator software ?

did your lab admin made a mess with your system in the name of installing ns2😀 ?

then you are in a right place🙂

You can make NS working in your system by putting little effort  on your ubuntu🙂

Step 1:

Download network simulator software from here

if you prefer other old versions you can swich by viewing files in that page

the file will be of almost 57 MB

Step 2:

Extract the files to your own desired directory

I did in /home/karthik/Desktop/

step 3:

now go to your working directory of ns2 by

cd /home/karthik/Desktop/ns-allinone-2.34

step 4:

Run this command to check any unresolved dependencies existing between installation

sudo apt-get install build-essential autoconf automake libxmu-dev

run the command ./install in terminal

it will take around 5 minutes

step 5:

Well Thats were your installation of ns2 exits🙂

now you have to configure to make it alive

you have to edit in the shell

run gedit ~./bashrc

add at end of the file this lines

remember change  /home/karthik/Desktop/ to your file path say /home/host-name/


# LD_LIBRARY_PATH
OTCL_LIB=/home/karthik/Desktop/ns-allinone-2.34/otcl-1.13
NS2_LIB=/home/karthik/Desktop/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=/home/karthik/Desktop/ns-allinone-2.34/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB

# PATH
XGRAPH=/home/karthik/Desktop/ns-allinone-2.34/bin: /home/karthik/Desktop/
ns-allinone-2.34/tcl8.4.18/unix : /home/karthik/Desktop/ns-allinone-2.34/tk8.4.18/unix
NS=/home/karthik/Desktop/ns-allinone-2.34/ns-2.34/
NAM=/home/karthik/Desktop/ns-allinone-2.34/nam-1.14/
PATH=$PATH:$XGRAPH:$NS:$NAM

now save the file and close it

run source ~/.bashrc

ignore if any errors😉

then run ./validate

this is the longest step it takes 30-45 minutes hence you can have a meal during the course of time😉

step 6:

this  is editing thing ( optional )

just make  links to the files in /home/karthik/Desktop/ns-allinone-2.34/bin by right click on all files and choose make link

copy  all and paste to /usr/bin/ directory  by running

sudo nautilus

then rename the file name for eg) link to ns to ns and so on . do this till all files are renamed .

step 7:

Sample code

now u can check out a demo to test you ns 2 by writing a sample code as below :

#Create a simulator object
set ns [new Simulator]

#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf

#Define a ‘finish’ procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the trace file
close $nf
#Execute nam on the trace file
exec nam out.nam &
exit 0
}

#Create two nodes
set n0 [$ns node]
set n1 [$ns node]

#Create a duplex link between the nodes
$ns duplex-link $n0 $n1 1Mb 10ms DropTail

#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 “finish”

#Run the simulation
$ns run

now copy this code and paste to a file say  myfirstprogram.tcl

then run ns myfirstprogram.tcl

you must see a window like this :

my ubuntu screen running NS2

and  …   You did it , Enjoy  🙂