在Ubuntu18.04lts下安装NS2(含nam)

前言

NS2(Network Simulator,version 2)是一种面向对象的网络仿真器。在学习NS2的过程中,学会安装NS2也是非常重要的。经过在网上查阅资料和一个下午的折腾,终于在Ubuntu18.04 LTS上安装好NS2并成功运行。以下是我大致的安装步骤。

Step1:升级更新

sudo apt-get update
sudo apt-get upgrade

Step2:下载ns2.35

2.1 方法1

链接:http://nchc.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz

在网页下载好压缩包后,打开文件所在文件夹(Show in folder)。然后右击鼠标Open in Terminal,把下载的ns-allinone-2.35压缩包解压到目录 /home/ns2

sudo mkdir /home/ns2
sudo tar -zxvf ns-allinone-2.35.tar.gz -C /home/shanyi/

2.2 方法2

用wget下载到 /home/ns2并解压

sudo mkdir /home/ns2
sudo wget -P /home/ns2http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz 
sudo tar -zxvf ns-allinone-2.35.tar.gz

Step3:安装ns2需要的软件包

sudo apt-get install build-essential
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev 
sudo apt-get install libxmu-dev libxmu-headers

Step4:安装

cd /home/ns2/ns-allinone-2.35

先别急着./install,先修改一个错误文件

sudo vim ns-2.35/linkstate/ls.h
:137 #跳到第137行
把
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

保存并退出。

接下来要注意的是:ns2只支持g++版本4.4~5.4,所以要这里下载 g++-4.8后进行安装(未尝试其他版本)

sudo apt install g++-4.8
sudo export CC=gcc-4.8 CXX=g++-4.8 && ./install

如果出现一堆文字You must… 则说明安装成功,接下来设置环境变量。

如果仍然没有成功安装,尝试移除g++后,重新安装g++-4.8后再执行上条安装命令。

Step5:配置环境变量

sudo gedit /home/你的用户名/.bashrc

用别的编辑器也行,这里用的是gedit。

在最后一行下面,加上

# add path for ns2
export PATH=”$PATH:/home/ns2/ns-allinone-2.35/bin:/home/ns2/ns-allinone-2.35/tcl8.5.10/unix:/home/ns2/ns-allinone-2.35/tk8.5.10/unix
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.35/otcl-1.14:/home/ns2/ns-allinone-2.35/lib”
export TCL_LIBRARY=”$TCL_LIBRARY:/home/ns2/ns-allinone-2.35/tcl8.5.10/library”

保存即可。

如果是使用zsh的,则在 ~/.zshrc 中添加环境变量,内容如上。

Step6:验证ns2安装

关闭终端,重启终端,输入ns,出现%,则说明ns2安装成功。

Step7:安装nam

cd /home/ns2/ns-allinone-2.35/nam-1.15
sudo ./configure
sudo make
sudo make install

命令行输入nam弹出nam console说明nam安装成功。

在Ubuntu18.04lts下安装NS2(含nam)

Step8:测试simple.tcl

cd /home/ns2/ns-allinone-2.35/ns-2.35/tcl/ex
ns simple.tcl

在Ubuntu18.04lts下安装NS2(含nam)

安装注意事项

  1. 记得修改ls.h文件中的错误(添加 "this->")
  2. 出现"hash"错误时,试试更换到g++-4.8
  3. 没有配置环境变量,验证ns时会提示无用命令。注意你使用的是bash还是zsh,用的bash则在 /home/你的用户名/.bashrc中添加,用的zsh则在 ~/.zshrc中添加

作为初学者,没有弄懂其中的原理,但是能在Ubuntu18.04 LTS中成功安装NS2,多有不足之处,望多多包涵。

致谢
本文参考了以下两篇网文:文献1文献2,在此向作者表示感谢!
欢迎大家指正!

在Ubuntu18.04lts下安装NS2(含nam)

上一篇:Ubuntu上的Hbase集群搭建


下一篇:Linux ALSA音频库(二) 环境测试+音频合成+语音切换 项目代码分享