How to install ns3 Linux Ubuntu 16.04


In this tutorial , You can get simple steps to install ns3 on linux ubuntu 16.04. This ns3 is written using the C++ & Python programming language. The ns3 library is wrapped by Python. C++ headers to gccxml and pygccxml  which automatically generate the corresponding C++ binding files which are finally compiled into the ns3 Python module. It allows users to interact with the C++.

Let's started, First we need to Install prerequisite packages and libraries which need to run ns3 on linux ubuntu. Press Ctrl + Alt + T to open terminal. login as Sudo su. Just copy following commands one by one on your terminal.

Install required compilers & additional packages 

apt-get install gcc g++ python apt-get install gcc g++ python python-dev apt-get install mercurial python-setuptools git

 

qt4 development tools are needed for Netanim animator

 apt-get install qt4-dev-tools libqt4-dev


Compilation packages

apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib


Debugging tools, valgrind for memory debugging

apt-get install gdb valgrind


GNU Scientific Library (GSL) support for more accurate WiFi error models

apt-get install gsl-bin libgsl2 libgsl-dev


for flex lexical analyzer and bison parser generator

 apt-get install flex bison libfl-dev

 

To read pcap packet traces

apt-get install tcpdump


Database support for statistics framework

 apt-get install sqlite sqlite3 libsqlite3-dev


for Xml library support

 apt-get install libxml2 libxml2-dev


for creating graphical user interface

 sudo apt-get install libgtk2.0-0 libgtk2.0-dev


for virtual machines and ns-3

apt-get install vtun lxc


for source code modification

 apt-get install uncrustify


for editing image and texlive for documentation

apt-get install doxygen graphviz imagemagick apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng sudo apt-get install python-sphinx dia


for pyviz visualizer

apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython


for openflow module

apt-get install libboost-signals-dev libboost-filesystem-dev


for MPI-based distributed emulation

apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev


Create a directory NS3 under opt directory for downloading ns3 files.

cd /opt mkdir NS3 cd NS3 hg clone http://code.nsnam.org/ns-3-allinone


As the hg (Mercurial) command executes, you should see something like the following displayed

destination directory: ns-3-allinone requesting all changes adding changesets adding manifests adding file changes added 26 changesets with 40 changes to 7 files 7 files updated, 0 files merged, 0 files removed, 0 files unresolved


After the clone command completes, you can find directory ns-3-allinone under your /opt/NS3 directory. run the python file to download and build the ns-3 distribution

 cd ns-3-allinone ./download.py -n ns-3-dev


After download process completes, you can find several new directories under /opt/NS3/ns-3-allinone as below.

 

build.py* constants.pyc download.py* nsc/ README util.pyc constants.py dist.py* ns-3-dev/ pybindgen/ util.py


Now compile and build the package. run build python file

./build.py

Configuration with Waf

cd ns-3-dev CXXFLAGS="-O3" ./waf configure ./waf -d optimized configure; ./waf ./waf --enable-examples configure ./waf --enable-tests configure


Now verify installation

./test.py


u will get output as below

PASS: TestSuite histogram PASS: TestSuite ns3-wifi-interference PASS: TestSuite ns3-tcp-cwnd PASS: TestSuite ns3-tcp-interoperability PASS: TestSuite sample ...

It means your installation is successful !


In my next post, I will show how to run first program in ns-3.


Thanks !


You can ask any query by mail  at arvindpande@digitalpadm.com.

Hello, I am Arvind Pande,Obtained Master of Engineering & dual Microsoft certified technology specialist (MCTS) , working as Software Consultant , Developer & Trainer from 12 years. This blog is basically to share all about digital inventions , innovation and technology. Pl. do visit WWW.DIGITALPADM.COM and channel

Previous
Next Post »