Fedora14+NS2的安装及其中碰到的问题解决

11 篇文章 3 订阅

下载:ns-allinone-2.34.tar.gz,放在$HOME下
解压:tar -axvf ns-allinone-2.34.tar.gz
安装:./install;

安装时出现的问题:
1/
g++ -c -Wall -Wno-write-strings  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_13 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCLINT_H -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test  -I. -I. -I/opt/ns-allinone-2.34/tclcl-1.19 -I/opt/ns-allinone-2.34/otcl-1.13 -I/opt/ns-allinone-2.34/include -I/opt/ns-allinone-2.34/include -I/opt/ns-allinone-2.34/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -I./diffserv -I./satellite -I./wpan -o tools/ranvar.o tools/ranvar.cc
tools/ranvar.cc: 在成员函数‘virtual double GammaRandomVariable::value()’中:
tools/ranvar.cc:219:70: 错误:不能直接调用构造函数‘GammaRandomVariable::GammaRandomVariable’
tools/ranvar.cc:219:70: 错误:对于函数类型的类型转换,移除冗余的‘::GammaRandomVariable’
make: *** [tools/ranvar.o] 错误 1
Ns make failed!
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

2/
mobile/nakagami.cc: 在成员函数‘virtual double Nakagami::Pr(PacketStamp*, PacketStamp*, WirelessPhy*)’中:
mobile/nakagami.cc:183:73: 错误:不能直接调用构造函数‘ErlangRandomVariable::ErlangRandomVariable’
mobile/nakagami.cc:183:73: 错误:对于函数类型的类型转换,移除冗余的‘::ErlangRandomVariable’
mobile/nakagami.cc:185:67: 错误:不能直接调用构造函数‘GammaRandomVariable::GammaRandomVariable’
mobile/nakagami.cc:185:67: 错误:对于函数类型的类型转换,移除冗余的‘::GammaRandomVariable’
make: *** [mobile/nakagami.o] 错误 1
Ns make failed!
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

以上问题解决如下:
由于gcc版本提高后对类内部调用的简化造成的不兼容(类内部调用自己到构造函数不用带类作用域“类名::构造函数”),需要找到出错的文件,删除类的限定。

比如修改/tools/ranvar.cc文件:

#vi ns-2.34/tools/ranvar.cc
然后定位到219行,删除::GammaRandomVariable,然后:wq保存,重新回到ns-allinone-2.34目录,

#./install

其他的类似报错解决办法一样

解决后安装成功。

二、设置环境变量

#cd ~/
# vi .bashrc
export NS_HOME=$HOME/ns-allinone-2.34
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix
export LD_LIBRARY_PATH=$NS_HOME/otcl-1.13:$NS_HOME/lib
export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
关闭终端再打开或者注销登录就OK了

三、测试运行
进入目录:$NS_HOME/ns-2.34/tcl/ex
命令:ns simple.tcl

ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值