Post Version: 1.1

Version of GCC I use: 4.7.2
This is the version of GCC that comes default with Linux Mint 14.
If you wish to install ns2.34 without Mannasim skip steps 4 and 9.
1. Download ns-allinone-2.34 from this site:
2. Extract the downloaded file into your home folder(say, /home/micman)
Throughout this post, I shall be mentioning my home folder /home/micman. When you follow these procedures, replace my username micman with your username.
3. Place the file ns2.34-mannasim-gcc4.3.patch into the following folder:
/home/micman/ns-allinone-2.34
4. In Terminal, type the following commands:
cd /home/micman/ns-allinone-2.34 path -p1 < ns2.34-mannasim-gcc4.3.patch
5. If the patch gets applied without any error, proceed to next step open the following file
/home/micman/ns-allinone-2.34/otcl-1.13/configure
Replace the following lines:
Linux*) SHLIB_CFLAGS="-fpic" SHLIB_LD="ld -shared" SHLIB_SUFFIX=".so" DL_LIBS="-ldl" SHLD_FLAGS=""
with the following:
Linux*) SHLIB_CFLAGS="-fpic" SHLIB_LD="gcc -shared" SHLIB_SUFFIX=".so" DL_LIBS="-ldl" SHLD_FLAGS=""
6. Next, open the following file:
/home/micman/ns-allinone-2.34/ns-2.34/tools/ranvar.cc
In line 219, make the following changes:
Find this line:
return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);
and replace it with:
return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);
7. Next, open the following file:
/home/micman/ns-allinone-2.34/ns-2.34/mac/mac-802_11Ext.h
In line 65, make the following changes:
Include this header file
#include "cstddef"
8. Open the following file:
/home/micman/ns-allinone-2.34/ns-2.34/mobile/nakagami.cc
Find the following code:
if (int_m == m) {
resultPower = ErlangRandomVariable::ErlangRandomVariable(Pr/m, int_m).value();
} else {
resultPower = GammaRandomVariable::GammaRandomVariable(m, Pr/m).value();
}
return resultPower;
}
Replace it with the code below:
if (int_m == m) {
resultPower = ErlangRandomVariable(Pr/m, int_m).value();
} else {
resultPower = GammaRandomVariable(m, Pr/m).value();
}
return resultPower;
}
}
9. In the following file, some code needs to be commented:
/home/micman/ns-allinone-2.34/ns-2.34/mannasim/onDemandData.cc
Comment the following lines:
OnDemandData :: OnDemandData()
{
/// REAL request type is default.
OnDemandData::OnDemandData(REAL);
}
10. Finally, in the following file:
/home/micman/ns-allinone-2.34/ns-2.34/linkstate/ls.h
Make the following changes:
In line 137, change the following line
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
into
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
11. When all the above steps have been completed successfully, run the following commands in Terminal before we begin installing ns2:
sudo apt-get install build-essential autoconf automake libxmu-dev
Once the above updates are successful, we shall proceed with installing ns2.
12. Navigate into the ns-allinone-2.34 folder:
cd /home/micman/ns-allinone-2.34
13. Just run the following command:
./install
14. Meanwhile, while the installation is happening, create the following file in /home/micman, if it doesn’t exist(else use the existing file):
.bashrc
15. Copy the following contents into .bashrc file created now:
# LD_LIBRARY_PATH OTCL_LIB=/home/micman/ns-allinone-2.34/otcl-1.13 NS2_LIB=/home/micman/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/micman/ns-allinone-2.34/tcl8.4.18/library USR_LIB=/usr/lib export TCL_LIBRARY=$TCL_LIB:$USR_LIB # PATH XGRAPH=/home/micman/ns-allinone-2.34/bin:/home/micman/ns-allinone-2.34/tcl8.4.18/unix:/home/micman/ns-allinone-2.34/tk8.4.18/unix NS=/home/micman/ns-allinone-2.34/ns-2.34/ NAM=/home/micman/ns-allinone-2.34/nam-1.14/ PATH=$PATH:$XGRAPH:$NS:$NAM
Here, micman is my username, replace it with your system username.
16. Meanwhile, in the Terminal, if the installation completes without any error, then close the terminal, and reopen it and type the following command:
ns
if % sign appears then the installation has been successful.
Additional Links:
Download Linux Mint: http://www.linuxmint.com/download.php
Download mannasim patch for ns2.34: https://www.box.com/shared/th6qi9b5v0
Download PowerIso: http://www.poweriso.com/download.htm
This article is sponsored by: http://hikmainfotech.com








