一、平台介绍
我本次使用的时Linux Mint 17.1 ,本篇文章适用于Debian和Ubuntu等Linux发行版;
二、准备工作
下载ns-allinone包:http://www.isi.edu/nsnam/ns/ns-build.html
一般直接下载allinone包:
ns-allinone-2.35.tar.gz下载:http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download
我这里把它安装到/usr/local/下,因此在此目录下创建一个ns2文件夹:
sudo mkdir ns2
把ns-allinone-2.35.tar.gz复制到/usr/local/ns2下;
然后解压:
tar -zxvf ns-allinone-2.35.tar.gz
得到一个ns-allinone-2.35文件夹;
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
进入ns-allinone-2.35文件夹,然后执行:
sudo ./install
如果不出意外,会安装失败的,至少再2.35这个版本是这样的!
源代码稍微有点问题,错误提示忘记复制下来了,就直接说解决方法吧。
将 ns/ns-2.35/linkstate/ls.h中的137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为 void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
然后重新执行
sudo ./install
应该就会安装成功了!
最后,配置环境变量:
sudo vim /etc/profile
在文件最后加入如下几行:
export PATH="$PATH:/usr/local/ns2/ns-allinone-2.35/bin:/usr/local/ns2/ns-allinone-2.35/tcl8.5.10/unix:/usr/local/ns2/ns-allinone-2.35/tk8.5.10/unix"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/ns2/ns-allinone-2.35/otcl-1.14:/usr/local/ns2/ns-allinone-2.35/lib"
export TCL_LIBRARY="$TCL_LIBRARY:/usr/local/ns2/ns-allinone-2.35/tcl8.5.10/library"
注意根据自己的安装目录调整上面的目录地址!
最近发现,在linux Mint下像上面这样做后,root用户下还是无法使用ns命令,解决方法是在root目录下新建一个.bashrc文件,再把上面的环境变量加入其中,最后执行一下: source .bashrc 命令重新加载一个环境变量,然后就能使用ns命令了!
执行一下source profile命令,然后再终端中输入ns,如果出现一个百分号,就成功了!