p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
笔者刚刚接触ns2,项目需要。在这里记录下操作过程,希望对您有所帮助。
网上ns2安装的教程有很多,很杂,有的有些复杂。尝试了一些比较繁琐又没有产生好结果的办法后,找到了一个相对简单的办法。我的系统是ubuntu17.04
安装过程:
主要参考的安装过程:http://www.linuxidc.com/Linux/2013-11/93055.htm
1. 直接下载ns-allinone的压缩包,这个是官网把需要的包整合到一起供安装的。我下载的版本是2.35
2. 下载好后,我在home→syc里面建立了文件夹,ns-2,并把安装包移动到里面,进入该文件夹,cd /home/usr/ns-2,解压文件tar zxvf ns-allinone-2.35.tar.gz。
3. 解压后进入解压好的文件夹 cd ns-allinone-2.35
4. 运行安装文件 ./install 接着就是等待。
5. 如果安装完成,修改在根目录下的系统路径文件 gedit ~/.bashrc
在文件最低端加入:
export PATH="$PATH:/home/ns-2/ns-allinone-2.35/bin:/home/ns-2/ns-allinone-2.35/tcl8.5.10/unix:/home/ns-2/ns-allinone-2.35/tk8.5.10/unix"
export LD_LIBRARY_PATH="$LD_LIBRARY:/home/ns-2/ns-allinone-2.35/otcl-1.14:/home/ns-2/ns-allinone-2.35/lib"
export TCL_LIBRARY="$TCL_LIBRARY:/home/ns-2/ns-allinone-2.35/tcl8.5.10/library"
PATH=$PATH:$XGRAPH:$NS:$NAM
仔细看这里面就是我们之前安装好的文件夹或文件,为了保证不出错,大家可以进入相应的路径看看有没有对应的文件或文件夹。路径一定要正确。
上面步骤完成后,保存,在终端中输入下面代码: source ~/.bashrc
检测是否安装成功:
在命令行输入ns,如果显示%,恭喜你~
exit推出当前指令。
接下来尝试一下ns2自带的例子。
在/ns-2.35/tcl/ex文件夹下,有个example.tcl脚本文件,
进入该文件夹路径,命令行输入 ns example.tcl。
遇到的部分问题:
1 首先就是在运行这个脚本文件时,可能会遇到
ns: finish: couldn‘t execute "nam": no such file or directory
是因为没有安装nam。
命令行输入 sudo apt-get install libxmu-dev
sudo apt-get install nam
2 can‘t find X includes
sudo apt-get install libxt-dev此步骤做完后,重新./install
3 可能会遇到没有安装gcc的错误,错误代码忘了。我在网上尝试了很多需要安装gcc的例子,很复杂,很容易出错,后来发现,根本不用。就直接sudo apt-get install gcc就行。而且需要注意的是,ns2.35支持的gcc版本不是最新版,参考 https://askubuntu.com/questions/915969/ns-2-35-installation-in-ubuntu-16-04
命令行输入sudo apt install g++-4.9
再在安装目录ns-allinone-2.35下运行export CC=gcc-4.9 CXX=g++-4.9 && ./install
4 关于安装中的有些问题,也可参考这个文档 https://wenku.baidu.com/view/42ced726ccbff121dd36836f.html
5 提示make:***[linkstate/ls.o] 错误1
修改文件:ns-2.35/linkstate/ls.h 第137行 void eraseAll() { erase(baseMap::begin(), baseMap::end()); } 改为: void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } 然后重新 ./install
其他的错误实在想不起来了,这些是翻浏览器的历史记录发现的。基本的错误网上都会有详细解释,耐心找找就会有的。侵删。