首先想吐槽一下,为了发一篇更高期刊的论文,在初稿完成的时候,采取了导师的建议给论文加一个仿真实验,因此走上了一条安装ns-2的不归路,花费了差不多两周左右的时间来安装,找了n多资料,逛了n多论坛,终于成功安装。现在把安装经验给需要的网友们共享一下,以方便大家少走弯路。

1.因为不想重装系统,所以就使用了虚拟机来充当一个模拟平台。如果你们直接安装的是Ubuntu系统的话,就不需要用虚拟机了。在我安装的过程中,使用的是VMware Workstation14,先在网上下载进行安装,这个资源比较多***网上也是一大堆,我就不再附链接了。

2.VMware Workstation14这个装好后,去网上下载Ubantu16.04,为啥要用这个版本呢?因为用其它的版本和ns-2容易出现兼容问题。毕竟ns-2装着很麻烦,一个不小心就错了,还不知道错误在哪,为了避免不知名错误,就严格按照Ubantu16.04+ns-2.35版本来进行了。Ubantu16.04下载链接 http://mirror.pnl.gov/releases/xenial/

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

我的电脑系统是Windows10 64位的,下载的是上面箭头所指的文件,大家可以根据需要下载不同位数的版本。

3.Ubuntu安装成功后,打开初始界面,按组合键Ctrl+alt+t,出现命令输入窗口然后输入以下命令

sudo apt-get update #更新源列表

sudo apt-get upgrade #更新已经安装的包

sudo apt-get dist-upgrade #更新软件,升级系统

完成之后继续运行代码进行准备工作

sudo apt-get install build-essential #编译器gcc make

sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev #tcl、tk库文件

sudo apt-get install libxmu-dev libxmu-headers #与nam有关的库文件

到此,准备工作基本完成。终于可以下载ns-2软件啦!万里长征第一步,不要急!

4.NS-2下载链接http://www.isi.edu/nsnam/ns/ns-build.html。在页面中找到

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

点击进去找到

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

再进去后就可以下载了。下载完成后,直接可以把压缩的安装包从自己的电脑中拖拽到已打开的Ubuntu中。我电脑上的具体位置如下图

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

上面的ns-allinone-2.35是解压后的文件。那么需要怎么解压呢需要在命令窗口输入以下代码:

解压 tar -xzvf ns-allinone-2.35.tar.gz

然后把解压后的文件按我上面的图位置放就行。安装命令:

cd /home/admin1/ns-allinone-2.35 (cd后面有空格 admin1是我Ubantu的用户名)使用绝对路径进入到安装位置

运行安装代码命令:./install

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

运行之后如果成功的话类似于下图:

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

然而我的第一次安装也有问题参照这篇文章问题:https://blog.csdn.net/rical730/article/details/70046992

出现的问题如图:

NS-2详细安装步骤 虚拟机(VMware Workstation 14)系统(Ubuntu16.04)ns-2版本(ns-allinone-2.35)

修改ls文件,具体的位置Home/ns-allinone-2.35/ns-2.35有个搜索框进行ls.h搜索,把该文件打开后里面的第137行 
void eraseAll() { erase(baseMap::begin(), baseMap::end()); } 
改为: 
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } 

也就是把erase用this->erase替换掉就好了 。进行完后,再一次进行安装。

第二次安装出现的问题是

1.make: *** [tk3d.o] 错误 1

tk8.5.10 make failed! Exiting ...

安装libx11-dev可以解决问题

sudo apt-get install libx11-dev

2.can't find X includes
otcl-1.14 configuration failed! Exiting ...

安装libXt-dev可以解决问题

sudo apt-get install libXt-dev

参考文章https://blog.csdn.net/chenkai619/article/details/7633503

5.安装好后提示环境变量没有配置。在这最后一步我们来进行环境变量配置,

在命令窗口输入以下命令:cd /home/admin1  (此次cd后面一个空格,admin1是Ubantu安装时输入的用户名,自己起的每个人的电脑都可能不一样)

再输入命令:sudo gedit .bashrc   (注意bashrc前面有点)如果前面这个命令不行的话 输入命令:gedit ~/.bashrc

直接在文档的最后面加上以下环境变量(把用户名改成你的就行):

export PATH=$PATH:/home/xxx/ns-allinone-2.35/bin:/home/xxx/ns-allinone-2.35/tcl8.5.10/unix:/home/xxx/ns-allinone-2.35/tk8.5.10/unix

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.35/otcl-1.14:/home/xxx/ns-allinone-2.35/lib

export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.35/tcl8.5.10/library

完成后记得保存并退出。重启终端,输入ns,出现%,说明ns2安装成功 

注意:环境变量配错的话,会提示“程序“ns”尚未安装。 此时请勿使用以下命令安装: sudo apt-get install ns

这时需要重新检查配置环境变量(如果上面的环境变量会出错,可以换下面的试一下,前提是你自己的用户名没有替换错)

 PATH="$PATH:/home/gxc/ns-allinone-2.34/bin:/home/gxc/ns-allinone-2.34/tcl8.4.18/unix:/home/gxc/ns-allinone-2.34/tk8.4.18/unix"

LD_LIBRARY_PATH="/home/gxc/ns-allinone-2.34/otcl-1.13:/home/gxc/ns-allinone-2.34/lib"

TCL_LIBRARY="$TCL_LIBRARY:/home/gxc/ns-allinone-2.34/tcl8.4.18/library"

此处参考文章 https://blog.csdn.net/real_lizy/article/details/44262451

到这里,ns-2全面安装成功。如果后期大家需要做ad hoc仿真的话,我这里有ns-2场景生成器脚本工具,压缩包里面有详细使用说明,需要安装JDK,

该脚本工具能够可视化生成想要的节点。下载源:https://download.csdn.net/download/qq_16567397/10522076

附:(第一次写博客,有不当之处,欢迎指正0.0)


相关文章: