Ubuntu 14.04下安装ns2.35

我选择的版本是2.35最新版本,安装环境是Ubuntu 14.04。

1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all in one 安装包包含所有的组件,比较方便,另附下载地址:

2.安装前环境配置,输入如下代码:

$sudo apt-get install build-essential $sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev $sduo apt-get install libxmu-dev libxmu-headers

3.ns2的解压和安装

首先把ns-allinone-2.35.tar.gz复制到home/xxx的文件夹下。xxx代表是你自己设置的ns2文件夹。然后进入终端,依次输入

tar -xzvf ns-allinone-2.31.tar.gz cd ns-allinone-2.31 ./install

不出意外的话,这一部分肯定是要出现各种各样的问题的,比如我出现的问题是:

 

linkstate/ls.h:137:58: note: declarations in dependent base ‘std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq>>>’ are not found by unqualified lookup linkstate/ls.h:137:58: note: use ‘this->erase’ instead make: *** [linkstate/ls.o] Error 1 Ns make failed!

 

这个很简单,只要编辑ns-2.35/linkstate/ls.h,即

gedit ns-2.35/linkstate/ls.h

将第137行的代码由

void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

改为

void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

也就是把erase用this->erase替换掉就好了。

再次执行./install就可以安装成功了。

 

Tips: 由于每个人的机器环境条件不一样,出现的错误也不一样,所以有可能遇见各种各样的问题。这里建议大家讲bug代码粘贴到google中去搜索,一般都可以解决的。 重要的事情说三遍: 一定要用google! 一定要用google! 一定要用google!

 

4.配置环境变量

如果安装成功,终端会提示配置环境变量,包括PATH,LD_LIBRARY_PATH,TCL_LIBRARY三种环境变量。

重新打开一个终端,输入:

sudo gedit .bashrc

在文件最后添加如下代码:

 

export PATH=$PATH:/home/xxx/ns-allinone-2.31/bin:/home/xxx/ns-allinone-2.31/tcl8.4.14/unix:/home/xxx/ns-allinone-2.31/tk8.4.14/unix export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.31/otcl-1.13:/home/xxx/ns-allinone-2.31/lib export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.31/tcl8.4.14/library
//注意两个环境变量路径之间要用冒号:隔开

 

然后运行:

source .bashrc

就完成了环境变量的配置。

5.安装完成的验证

重新打开一个终端,输入:

ns

如果出现%就证明ns2已经安装成功了。

如果没有出现%,可以重新在终端输入:

source .bashrc
ns

这时候应该就完美的出现了%,证明ns2应经安装好了。

6.实例example

在终端输入:

cd ns-allinone-2.31/ns-2.31/tcl/ex ns example.tcl

如果出现了数据,证明ns2运行正常。

再输入

ns simple.tcl

如果出现nam的控制窗口和帮助屏,则表示nam安装成功。可以在nam控制窗口进行动画演示。自此,ns2.35完全安装成功。

Ubuntu 13.04 安装ns2.35 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15479.html