Step-by-Step Guide: How to Install ns-3.46 on Ubuntu 24.04 LTS
Welcome to Engineering Clinic!
As Ubuntu continues to evolve with its 24.04 LTS release, network simulation tools must also keep pace. Today, we will walk through the complete installation process of ns-3.46 on the new Ubuntu 24.04 environment.
Whether you are a student, researcher, or developer, setting up the environment correctly is the most critical step. This guide covers everything from installing dependencies to setting up the specific Python virtual environment required for this version.
Check the video for complete instructions:
https://youtu.be/Rd8pXpOkDgQ
Let’s get started.
Step 1: Update and Install Dependencies
Before we touch the network simulator, we need to prepare the Linux environment. Ubuntu 24.04 requires a specific set of libraries for C++, Python, and visualizer tools.
First, update your repositories:
$ sudo apt update
Next, install the required dependencies. This is a comprehensive list ensuring that key features (like NetAnim, Python bindings, and MPI) work correctly.
Copy and paste 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
Note: Depending on your internet speed, this download may take some time. Grab a coffee while it finishes!
Step 2: Download and Extract ns-3.46
Once the dependencies are ready, we need to get the source code.
Download the tarball from the official release page:
https://www.nsnam.org/releases/ns-3.46.tar.bz2 Move the downloaded file to your home folder (e.g.,
/home/username).Open your terminal in that directory and unzip the file:
Step 3: Configure and Build (C++)
Now, navigate into the directory and begin the build process. We will enable examples and tests to ensure everything is working.
$ ./ns3 configure --enable-examples --enable-tests
Once the configuration is successful, build the project:
$ ./ns3 build
Performance Tip: This step compiles a massive amount of C++ code. The time it takes will depend heavily on your computer's CPU speed.
Step 4: Testing the Installation (C++)
Before we move to Python, let’s verify the installation by running a standard C++ script.
In ns-3, all your custom scripts (.cc or .py files) should be placed in the scratch/ folder.
To run a file located in scratch:
./ns3 run scratch/filename
(You do not need to type the file extension, though ./ns3 run scratch/file.cc works as well).
Step 5: Setting up Python Bindings (Crucial Step)
If you attempt to run Python scripts immediately, you may encounter errors. In Ubuntu 24.04, Python environments are managed more strictly. We need to create a Virtual Environment (venv) and install cppyy to allow Python to talk to the C++ core of ns-3.
Follow these steps carefully:
1. Install cppyy and create the environment:
pip install cppyy
python3 -m venv ./myenv
2. Activate the environment:
source ./myenv/bin/activate
(You will see (myenv) appear at the start of your command prompt)
3. Re-configure and Re-build with Python bindings enabled:
cd ns-3.46
./ns3 configure --enable-python-bindings
./ns3 build
Step 6: Running a Python Example
Let’s test the Python capability. Copy the standard first.py example into your scratch folder and run it.
cp examples/tutorial/first.py scratch/first.py
./ns3 run scratch/first.py
If successful, you will see the simulation output in your terminal.
Important Workflow Reminder: Every time you open a new terminal to work on ns-3 with Python, you must reactivate your environment first:
source ./myenv/bin/activate
Conclusion
Congratulations! You have successfully installed ns-3.46 on Ubuntu 24.04 LTS. You are now ready to start building your network topologies and running simulations.
If you found this guide helpful, please verify the installation by running the examples above. Happy coding!
Comments
Post a Comment