ns2安装问题总结

本人ns2运行环境:ubuntu10.04,ns2-allinone-2.30(下载地址:http://www.isi.edu/nsnam/dist/)
最近一直在搞基于ns2的UMTS开发,由于UMTS补丁的各种错误,加上ns2本身不是很稳定(开源的嘛,不过总体还是行的),重装的次数着实不少,虽 然最新的ns2版本更新为2.34,但是由于和UMTS补丁不兼容,退而求其次,改为版本2.30。在安装过程中出现以下一些错误,在长时间的资料查询 下,各种错误得以解决,总结如下:
首先,是关于otcl-1.12中运行错误(就是不能通过运行),后发现问题出在configure文件下,在5516行上:  Linux*)
SHLIB_CFLAGS="-fpic"
SHLIB_LD="ld -shared"
SHLIB_SUFFIX=".so"
DL_LIBS="-ldl"
SHLD_FLAGS=""
;;
其中的承载程序出错了,运行的环境应该是C,故将ld改为gcc,问题解决。
其次,在tclcl-1.18中,出现了关于“const char”与“char”的转换问题(这个在2.34版本中已经改正),问题出在566行,改为如下语句,进行一次强制转换:
if (need_parse) {
const char *p = strchr (localName, '(');
if (p)
((char*) localName)[p-localName] = '/0';
};
ok。通过!
最后,在make的过程中出现一些头文件的运行错误,进入ns-2.30目录,打开make.in文件,将第36行开始的2行文件替换如下:
CC    = gcc-4.3
CPP    = g++-4.3
归根截底还是编译器的问题,安装成功~
(今后安装遇到什么问题我会继续关注,关于UMTS补丁的安装还在摸索中,随后会贴出相关过程)

在更新了gcc4.4后,发现在安装过程中,ns-2.30目录下queue目录中的red.cc,rio.cc,pi.cc等文件提示出“const char”与“char”的错误,遂同上面一样,按照ns-2.34版本中的文件改正(这些都是涉及到字符串操作的函数返回值问题,或者直接从那拷贝过 来),于是一一改正,虽然是麻烦了点:)
在ns搞定加了环境变量后,发现nam命令又不对了出现了:
nam:
[code omitted because of length]
: no event type or button # or keysym
while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."
这样的错误(由于nam调用的tk组件和xproto-7.0.13 不兼容导致的(xproto-7.0.13 新添加了 GenericEvent)) ,于是在tk-8.4.14/generic/tbBind.c的第588行添加:

#ifdef GenericEvent
/* GenericEvent */      0,
#endif

重新编译(这步是一定要的)然后再“nam”成功跳出对话框。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值