Skip to main content

How to Install NS-3.44 on Ubuntu 24.04: A Step-by-Step Guide

 

Prerequisites for Installing NS-3.44 on Ubuntu 24.04

Before diving into the installation, ensure your system meets the following requirements:

  • Operating System: Ubuntu 24.04 LTS
  • Internet Connection: Required for downloading dependencies and NS-3 source code
  • Disk Space: At least 5 GB of free space
  • RAM: Minimum 4 GB (8 GB recommended for more extensive simulations)

You’ll also need administrative access (sudo) to install packages.

See the following video for the complete instructions:



Step-by-Step Guide to Install NS-3.44 on Ubuntu 24.04

Follow these steps carefully to set up NS-3.44 on your system.

Step 1: Update Your System

First, ensure your Ubuntu 24.04 system is up to date. Open a terminal (Ctrl + Alt + T) and run:

$ sudo apt update && sudo apt upgrade -y


Step 2: Install Required Dependencies

NS-3.44 requires several development tools and libraries. Install them with the following command:

$ sudo apt install g++ python3 cmake ninja-build git gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 tcpdump wireshark sqlite3 libsqlite3-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools openmpi-bin openmpi-common openmpi-doc libopenmpi-dev doxygen graphviz imagemagick python3-sphinx dia imagemagick texlive dvipng latexmk texlive-extra-utils texlive-latex-extra texlive-font-utils libeigen3-dev gsl-bin libgsl-dev libgslcblas0 libxml2 libxml2-dev libgtk-3-dev lxc-utils lxc-templates vtun uml-utilities ebtables bridge-utils libxml2 libxml2-dev libboost-all-dev ccache python3-full python3-pip


Step 3: Download NS-3.44 Source Code

Next, download the NS-3.44 source code from the official website or Git repository. For simplicity, we’ll use the tarball method.

$ wget https://www.nsnam.org/releases/ns-allinone-3.44.tar.bz2

$ tar -xjf ns-allinone-3.44.tar.bz2

$ cd ns-allinone-3.44

$ ./build.py --enable-examples --enable-tests

$ cd ns-3.44

$ ./ns3 run first

If successful, you’ll see output indicating a simple point-to-point network simulation, something like:

At time 2s client sent 1024 bytes to 10.1.1.2 port 9

ns3
Network Simulator 3

(Optional) Configure Python Bindings

If you plan to use Python for scripting NS-3 simulations, enable Python bindings during the build process. Install the Python development package if not already installed

$ sudo apt install -y python3-dev python3-pip $ pip install pygccxml pygraphviz cppyy


$ cd ns-allinone-3.44/ns-3.44/

$ ./ns3 configure --enable-python-bindings $ ./ns3 build




Comments

  1. sir i saved a file named test_wired.py with code from chatgpt it contained import ns.core,import ns.applications statements . i tried to run in myenv virtual environment using ./ns3 run scratch.test_wired.py but it is saying no module named ns.applications .i checked the path
    (myenv) vboxuser@VSRVANETUbuntu:~/ns-allinone-3.44/ns-3.44/build/bindings/python/ns$ ls
    __init__.py __pycache__
    i see this how to make the program run ..how to install ns module work

    ReplyDelete
  2. sir i tried running a file test_wired.py placed in scratch folder. file uses import ns.cor and ns.applications and some more import from ns.But it is saying no module named ns.cor or ns.applications. i checked path i see this (myenv) vboxuser@VSRVANETUbuntu:~/ns-allinone-3.44/ns-3.44/build/bindings/python/ns$ ls
    __init__.py __pycache__
    how to make ns install and work

    ReplyDelete

Post a Comment

Popular posts from this blog

Installing ns3 in Ubuntu 22.04 | Complete Instructions

In this post, we are going to see how to install ns-3.36.1 in Ubuntu 22.04. You can follow the video for complete details Tools used in this simulation: NS3 version ns-3.36.1  OS Used: Ubuntu 22.04 LTS Installation of NS3 (ns-3.36.1) There are some changes in the ns3 installation procedure and the dependencies. So open a terminal and issue the following commands Step 1:  Prerequisites $ sudo apt update In the following packages, all the required dependencies are taken care and you can install all these packages for the complete use of ns3. $ sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev  libxml2 libxml2-dev libc6-dev libc6-dev-i386 libc...

Installation of NS2 in Ubuntu 22.04 | NS2 Tutorial 2

NS-2.35 installation in Ubuntu 22.04 This post shows how to install ns-2.35 in Ubuntu 22.04 Operating System Since ns-2.35 is too old, it needs the following packages gcc-4.8 g++-4.8 gawk and some more libraries Follow the video for more instructions So, here are the steps to install this software: To download and extract the ns2 software Download the software from the following link http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download Extract it to home folder and in my case its /home/pradeepkumar (I recommend to install it under your home folder) $ tar zxvf ns-allinone-2.35.tar.gz or Right click over the file and click extract here and select the home folder. $ sudo apt update $ sudo apt install build-essential autoconf automake libxmu-dev gawk To install gcc-4.8 and g++-4.8 $ sudo gedit /etc/apt/sources.list make an entry in the above file deb http://in.archive.ubuntu.com/ubuntu/ bionic main universe $ sudo apt update Since, it...

Installation of NS2 (ns-2.35) in Ubuntu 20.04

Installation of NS2 (ns-2.35) in Ubuntu 20.04 LTS Step 1: Install the basic libraries like      $] sudo apt install build-essential autoconf automake libxmu-dev Step 2: install gcc-4.8 and g++-4.8 open the file using sudo mode $] sudo nano /etc/apt/sources.list Include the following line deb http://in.archive.ubuntu.com/ubuntu bionic main universe $] sudo apt update $] sudo apt install gcc-4.8 g++-4.8 Step 3:  Unzip the ns2 packages to home folder $] tar zxvf ns-allinone-2.35.tar.gz $] cd ns-allinone-2.35/ns-2.35 Modify the following make files. ~ns-2.35/Makefile.in Change @CC@ to gcc-4.8 change @CXX@ to g++-4.8 ~nam-1.15/Makefile.in ~xgraph-12.2/Makefile.in ~otcl-1.14/Makefile.in Change in all places  @CC@ to gcc-4.8 @CPP@ or @CXX@ to g++-4.8 open the file: ~ns-2.35/linkstate/ls.h Change at the Line no 137  void eraseAll() { erase(baseMap::begin(), baseMap::end()); } to This void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } All changes ...