HOW TO INSTALL TCLCL PACKAGES IN NS2
To import TCLCL packages into NS2, you need to follow the steps listed below. We will show you how to use this version in your project. Tclcl is a binding library that connects Tcl (Tool Command Language) with C++, enabling seamless integration between scripting and compiled code. TclCL is widely used in the NS-2 environment, where it allows the user to interact with the core C++ components of the simulator through a high-level Tcl scripting interface. In NS-2, simulations are often scripted using OTcl (Object Tcl), but the performance-critical parts of the simulator, such as protocol implementations and packet handling, are written in C++. TclCL serves as the bridge between these two layers, allowing the user to invoke C++ methods and objects from within a Tcl script. This architecture gives users the flexibility of scripting while maintaining the speed and efficiency of C++ for processing-intensive tasks. TclCL enables users to define classes in C++ and link them to OTcl objects, creating a hybrid environment where both compiled and interpreted code can coexist. This dual-language model allows for easier experimentation and faster simulation setup while benefiting from C++’s computational efficiency for large-scale network simulations. TclCL’s role is to manage communication between the interpreter and the compiled code, handling data conversion, method calls, and object instantiation.
PRE-REQUISITES:
- Fresh installation of Ubuntu 16.04 LTS:
Screenshot
2.Download ns-allinone-2.35.tar.bz2 file:
We have to download the ns-allinone-2.35.tar.bz2 under home directory by the clicking the Link, it will directly download to Download Location and move the compressed file to the home Directory.
Screenshot:
3.Extraction of the ns-allinone-2.35.tar.bz2 file:
Next, we have to extract the compressed file by right click and click Extract here to extract the ns-allinone-2.35 as folder in the home directory.
Screenshot:
Screenshot:
ns-allinone-2.35 compressed file Extracted Successfully in the home directory.
INSTALL DEPENDENCIES OF NS3:
- Open a terminal, Copy and Paste the commands to install required package:
Screenshot:
2.System File Update Command:
First of all, we need to updates the list of available packages and their versions stored in the system’s package index. Use below command to update the system package.
Command: “sudo apt-get update”
Screenshot:
3.Install Essential Tools:
- build-essential: A package containing essential tools for compiling software on Ubuntu, including GCC, g++, and make.
- autoconf: A tool for automatically configuring source code packages to adapt to various UNIX-like systems.
- automake: A tool that automatically generates Makefile.in files, simplifying the creation of portable makefiles.
- libxmu-dev: A development package for the X11 Athena Widget library, providing miscellaneous utility functions for X Window System programs.
Command: “sudo apt-get install build-essential autoconf automake libxmu-dev”
Screenshot:
Click the key Y to install the required Essentials tools for giving permission to install the package in the user system.
Screenshot:
Installation of the Essential tools package completed successfully.
INSTALL NETWORK SIMULATOR 2 (NS2) With TCLCL:
- Locating the ns-allinone-2.35 Folder:
Next, we need to install the NS 2 in our system so locate the Extracted ns-allinone-2.35 folder in the home directory.
Screenshot:
2.Launching the terminal in the ns-allinone-2.35 Folder:
Then Right Click in the current Directory and select the “Open in Terminal” button and it will launch the terminal.
Screenshot:
Here, we launched the terminal by that button in the folder.
Screenshot:
3.Modification of ns2.35 Code:
Next, we need to modify the ns-2.35 to install the network simulation 2 Environment in the User system and it will resolve some dependency errors. First of all, locate to the ns-2.35 folder.
Command: “cd ns-2.35”
Screenshot:
Next, we need to edit the ls.h file in the ns-2.35 with gedit command.
Command: “cd linkstate && gedit ls.h”
Screenshot:
Screenshot:
Next, the code this-> is added to the line 137 and before the erase (basemap::begin(), baseMap::end()) code.
Screenshot:
4.Installing ns-2.35 by the terminal:
Next, we need to install the network simulation 2.35 Environment in the User system and it. So, use the command to install the ns-2.35 for TCLCL Package in the ns-allinone-2.35 folder location.
Command: “./install”
Screenshot:
TCLCL Building process:
Screenshot:
Next, Building the TCLCL tool along with Network Simulator 2 (NS-2) framework from its source code. When use this command, It will compiles the source code, generates the Makefiles, and builds the NS-2 with TCLCL binary and libraries and make Runnable Environment.
Screenshot:
Here SGB got validated and all test had been passed successfully, if configuration is configured correctly , then it will show this message.
Screenshot:
TCLCL Installed successfully in the NS-2.35 Environment.
Ns-2.35 Configuration process:
Screenshot:
The configuration of the Network Simulator 2 (NS-2) environment. This command is typically used to set various parameters, such as the simulation duration, network topology, and node properties. It can also be used to specify the output format and other simulation settings.
Screenshot:
Ns-2.35 Configuration Completed successfully.
Ns-2.35 Building process:
Screenshot:
Next, Building the Network Simulator 2 (NS-2) framework from its source code. When use this command, it will compile the source code, generates the Makefiles, and builds the NS-2 binary and libraries and make Runnable Environment.
Screenshot:
Ns-2.35 Installed successfully in the Ubuntu 16.04 system.
Screenshot:
TCLCL Installed successfully along with Ns-2.35 Installation process in the Ubuntu 16.04 system.