linux下ns2安装教程,各种版本的linux下安装多个版本的NS2(比如ns2.31和ns2.27)中遇到的问题和解决方案...

/*------------------------------------------------------------------------------------------------------------------------*/

问题:在高版本的linux平台下如何解决安装ns2.27遇到的各种问题?

解决方案:迫切的想使用ns2.27,但是现在的使用的g++版本比较高,语法检查更严格,以前的ns平台好多语法都要出错。会遇到各种问题。希望,你在看到此帖时,不要放弃安装,耐心的搜索解决方法和总结,总会解决这些小问题的。博主最开始也想放弃了,不过最后还是成功安装了低版本的ns2.27. 安装成功后也会非常高兴。

这方面的问题,网上有很多总结,我参考最多的是这个帖子:http://www.huomo.cn/os/article-133b4.html  ,遇到错误,直接将关键字在网页里使用搜索就可以找到,有些问题,不在这个帖子里,有些问题也不是按顺序出现的。

问题大概的一些总结和分析:

queue/cbq.cc:112: error: ISO C++ forbids declaration of ‘CBQueue’ with no type

是类的缺失,加一个类的声明即可。同样的还有J:错误:ISO C++ 不允许声明无类型的‘toraAgent’。

还有一类是多余的类的限定,直接打开对应的文件,然后找到该文件所对应的行,删掉类的限定就可以了。

还可能要打一个补丁文件:ns227-gcc34.patch,下载后,放在跟安装文件同一个目录下,使用:

patch -p0 < ns227-gcc34.patch就可以了。

有时会遇到strstr函数从const char *到 char *的无效转换的问题,直接在对应函数前面使用(char *)来强制转化即可。

/*------------------------------------------------------------------------------------------------------------------------*/

解决方案:在tk-8.4.14/generic/tkBind.c的第588行添加:

#ifdef GenericEvent

0,

#endif

修改该文件后,重新安装就可以了(网上还有使用补丁来解决的方法,个人感觉这种方法更简单和方便一些)。

/*------------------------------------------------------------------------------------------------------------------------*/

问题描述:多个版本的NS2 如何共存,可以同时使用(好像协议对ns的版本支持有一些要求,我的需求是要仿真LEACH协议,目前的资料都是在ns2.27上仿真,技术比较搓,就想先搭建个ns2.27,学习下,再考虑移植到其它平台上),就是像ns这个命令同时区分版本的问题,只要将ns根据版本分成多个名字即可。

解决方案(fedora13平台,ns的版本是ns2.31和ns2.27):

假设已经成功安装了ns2.31,我的安装目录在/opt/ns-allinone-2.31/.

切换到目录  /opt/ns-allinone-2.31/bin,使用file ns命令查看链接关系,得到其链接关系:symbolic link to `/opt/ns-allinone-2.31/ns-2.31/ns'。

使用命令:

ln -s /opt/ns-allinone-2.31/ns-2.31/ns ns2.31 来创建一个新的链接

然后使用命令:

rm ns,删除这个链接

在终端下输入ns2.31,就可以显示%,表明已经更名成功。同样的道理可以更换nam等链接的名字,比如:

ln -s /opt/ns-allinone-2.31/nam-1.13/nam nam2.31

rm nam

同样的道理,假设成功安装了ns2.27,安装目录为/opt/ns-allinone-2.27.

使用同样的方法,将ns2.27中的ns/nam改成ns2.27和nam2.31.

贴上~/.bashrc(注意是在普通用户,而非root用户下的配置文件)中的路径相关东西:

export PATH="$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin:/opt/ns-allinone-2.31/bin:/opt/ns-allinone-2.31/tcl8.4.14/unix:/opt/ns-allinone-2.31/tk8.4.14/unix:/opt/ns-allinone-2.27/bin:/opt/ns-allinone-2.27/tcl8.4.5/unix:/opt/ns-allinone-2.27/tk8.4.5/unix"

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ns-allinone-2.31/otcl-1.13:/opt/ns-allinone-2.31/lib:/opt/ns-allinone-2.27/otcl-1.8:/opt/ns-allinone-2.27/lib"

export TCL_LIBRARY="$TCL_LIBRARY:/opt/ns-allinone-2.31/tcl8.4.14/library:/opt/ns-allinone-2.27/tcl8.4.5/library" 使用命令source ~/.bashrc就可以使该配置文件生效而不用注销用户或者重启系统。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值