Ubuntu 12.10+ns-2.34安装

之前装了N个版本的ns2,cygwin+ns2.35,fedora+ns2.35,cygwin+ns2.28,cygwin+ns2.30,安装都很顺利,但是运行例程wireless-dsdv-newnode.tcl时都显示一个错误:

num_nodes is set 50

(_o16 cmd line 1)
invoked from within
"_o16 cmd random-motion 0"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o16" line 2)
(SplitObject unknown line 2)
invoked from within
"$node_($i) random-motion 0 "
invoked from within
"if { [string compare $opt(rp) "dsr"] == 0} {
for {set i 0} {$i < $opt(nn) } {incr i} {
dsr-create-mobile-node $i
}
} elseif { [string compare $op..."
(file "wireless-dsdv-newnode.tcl" line 176)

每个版本的ns2这个问题都是如此,由于刚开始接触道行尚浅,不知问题何在,最后不得不重新投靠Ubuntu,于是安装Ubuntu12.10+ns2.34

安装过程中遇到问题不外乎GCC 版本问题:

一,修改configure.in与configure,具体操作网上一堆

二,根据错误提示修改部分.h或者.cc文件,如:

tools/ranvar.cc: In member function ‘virtual double GammaRandomVariable::value()’:
tools/ranvar.cc:219:70: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly
tools/ranvar.cc:219:70: error:  for a function-style cast, remove the redundant ‘::GammaRandomVariable’
make: *** [tools/ranvar.o]错误1
Ns make failed!
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

 这是由于gcc版本提高后对类内部函数调用的简化造成的不兼容,解决方法如下:

 在ns-allinone-2.34/ ns-2.34/tools文件夹下,找到报错提示中的ranvar.cc文件,打开找到对应的219行删除::GaammaRandomVariable,保存,

即:将219行的

return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

改为:

return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

 然后保存退出,重新安装ns2.

解决办法来源与别人的博客,附地址:http://blog.sina.com.cn/s/blog_6ddfdc6701018fk1.html

安装完后测试那个例程问题依旧,但是测试了一个别人的例子一切正常,例子链接如下:

http://peilie-coolboy.blog.163.com/blog/static/2395237120124175126381/

学习从此开始!

转载于:https://www.cnblogs.com/eric-he-yeah/archive/2013/05/13/3075661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值