[总结]ns2安装和遇到的问题

时间:2023-02-01 07:05:30

笔者刚刚接触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
  其他的错误实在想不起来了,这些是翻浏览器的历史记录发现的。基本的错误网上都会有详细解释,耐心找找就会有的。侵删。