NS-2安装须知:若按照这个的全套教程,建议全都在一个用户下完成,不建议root用户和普通用户交叉执行命令,容易出错!!
实验环境Ubuntu16.04+ns-allinone-2.35
-
ns官网http://www.isi.edu/nsnam/ns/ns-build.html下载ns-allinone-2.35.tar.gz
-
拷贝到用户目录下:/home/用户名/
如我的是:/home/joy -
更新一下系统
sudo apt-get update #更新源列表
sudo apt-get upgrade #更新已安装的包
- 安装几个依赖文件
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
- 用户目录下解压
cd /home/joy
tar -xvzf ns-allinone-2.35.tar.gz
- 用户目录下修改配置文件
vim ns-allinone-2.35/ns-2.35/linkstate/ls.h
:set nu #vim显示行数
找到第137行,做如下更改
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
- 安装
sudo ./install
×××安装时间会久一点,成功的话,最后会提示配置环境变量PATH,LD_LIBRARY_PATH,TCL_LIBRARY,要把环境变量部分的提示保存下来
ns安装要求gcc版本为5或者更低版本,高版本会报错,需要回溯到低版本,比较麻烦,建议使用Ubuntu16或更低版本的Ubuntu
- 设置环境变量
sudo gedit ~/.bashrc
将安装最后提示的环境变量内容直接加入到文件最后即可
或者自己按如下方法设置:
$NS_HOME=/home/*joy*/ns-allinone-2.35
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library
×××注意将joy改为自己的用户名
×××本命令是在当前用户的环境变量表中加入ns环境变量,如果切换用户启动,则会出错!!!想要在任意用户下都可以用,则在/etc/profile下修改环境变量
- 运行实例
cd ns-allinone-2.35/ns-2.35/tcl/ex
ns simple.tcl
×××正确显示脚本的运行结果,上为运行图,下面终端输出对应为输出命令
至此,ns平台搭建成功,后续博文将介绍leach协议的安装