NS2学习---安装

安装环境:ubuntu 16.04


步骤:(转明日韭菜-Ubuntu16.04下安装ns2.35

step1:更新系统

$ sudo apt-get update #更新源列表
$ sudo apt-get upgrade #更新已安装的包
$ sudo apt-get dist-upgrade #更新软件,升级系统

step2:安装三个依赖包

$ sudo apt-get install build-essential
#安装build-essential软件包,编译C/C++所需要的所有软件包都会被安装
$ sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev
#安装Tcl/Tk跨平台语言
$ sudo apt-get install libxmu-dev libxmu-headers
#安装nam

step3:下载安装包

官网下载地址:https://www.isi.edu/nsnam/ns/

links to help getting started → getting ns and avoiding problems → download and build ns → getting everything at once

下载ns-allinone-2.35包

$ tar -xvzf  ns-allinone-2.35.tar.gz
$ cd ns-allinone-2.35
$ sudo ./install #安装

安装报错:

In file included from linkstate/ls.cc:67:0: linkstate/ls.h: In instantiation of ‘void LsMap::eraseAll() [with Key = int; T = LsIdSeq]’:

linkstate/ls.cc:396:28: required from here linkstate/ls.h:137:20: error: ‘erase’ was not declared in this scope, and no declarationswere found by argument-dependent lookup at the point of instantiation [-fpermissive]

linkstate/ls.h:137:20: note: declarations in dependent base ‘std::map, std::allocator > >’ are not found by unqualified lookup linkstate/ls.h:137:20: note: use ‘this->erase’ instead

make: *** [linkstate/ls.o] Error 1

Ns make failed!

解决办法:

$ cd ./ns-2.35/linkstate
$ gedit ls.h

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

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

保存重新安装:sudo ./install

step4:配置环境变量

$ cd /home/用户名
$ gedit ~/.bashrc

文件末尾添加以下环境变量

export NS_HOME=/安装位置/ns-allinone-2.35  
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib  
export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library

step5:验证ns2是否安装成功

关闭终端→重启终端→输入ns

出现"%",说明安装成功

若没有安装成功,会提示使用以下命令安装

sudo apt-get install ns2

不要执行,继续改上述步骤,查找错误

step6:验证nam是否安装成功

重新打开一个终端窗口

$ cd ns-allinone-2.35/ns-2.35/tcl/ex/
$ ns simple.tcl

若弹出动画演示框说明成功。

若没有安装成功,执行以下命令:

$ cd ns-allinone-2.35/nam-1.15     #进入nam目录 
$ ./configure --with-tcl-ver=8.5   #重新配置
$ make                             #重新编译源码
$ make install                     #重新安装

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值