你好,游客 登录 注册 搜索
背景:
阅读新闻

NS2.33在Ubuntu 12.10的完整安装过程及相关问题

[日期:2013-05-09] 来源:Linux社区  作者:fengqiyunran [字体: ]

准备工作:Ubuntu 12.10已经成功安装+下载NS2安装文件,我这里是ns-allinone-2.33.tar,另外准备两个补丁:tk-8.4-lastevent.patchtk-8.4.18-tkBind.patch

tk-8.4-lastevent.patch和tk-8.4.18-tkBind.patch下载地址:

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2013年资料/5月/9日/NS2.33在Ubuntu12.10的完整安装过程及相关问题

或者

百度云盘下载:http://pan.baidu.com/share/link?shareid=552203&uk=487907638

相关阅读:Ubuntu 11.10下安装NS2.35  http://www.linuxidc.com/Linux/2012-03/55990.htm

第一步:将ns2的压缩包ns-allinone-2.33.tar.gz拷贝到桌面,右键解压到桌面,将解压后的文件夹复制到准备安装的位置,

例如我的件夹home/wl(wl是登录用户名)下新建文件夹program,将ns2的文件夹粘帖到home/wl/program下。

第二步:在root的用户名下或admin用户下,下载并安装ns-2.33安装时需要的系统包,具体如下:

首先,在终端里输入apt-get install build-essential 进行下载安装,这一步是为了gcc and some essential 的安装;

接着,在终端里输入apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev 进行下载安装,这一步是为了tcl and tk 的安装;

最后,在终端里输入apt-get install libxmu-dev 进行下载安装,这一步是为了nam的安装。

第三步:检查gcc版本,现在系统自动安装的版本一般高于4.0,但是安装之前仍有必要检查下,终端命令如下:

终端执行ls /usr/bin/gcc –l或者gcc --rsion或者gcc -v都可以,我的是gcc4.7.2

因为gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本,这个命令改为了gcc -share。

所以,若版本高于gcc4.0则需要做如下更改:

 cd /home/liu/Program/ns-allinone-2.33//otcl-1.13
do gedit configure.in

将77行,SHLIB_LD="ld -shared" 改为SHLIB_LD="gcc -shared"保存,退出

同时修改configure 第5518行SHLIB_LD="ld -shared"改为SHLIB_LD="gcc -shared"保存退出。

上述修改是终端命令的形式,也可以在视图下直接打开,前提是开放文件的“read and write"权限。

第四步:由于我的是安装的ns2.33,据说存在一些问题,所以提前进行了测试并安装了补丁,具体步骤如下:

 

(1)运行自带的实例进行测试: /ns-allinone-2.33/ns-2.33/tcl/ex/simple.tcl
可能的问题:
系统提示如下,
[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..."

原因:据说是ns2.33,它的nam调用的tk组件和xproto-7.0.13 不兼容导致的(xproto-7.0.13 新添加了 GenericEvent),所以在安装ns2之前要先打上补丁。如果不打上补丁的话,后面调用nam时会报错。

解决方法为:

(1)打上准备的补丁tk-8.4-lastevent.patch

把这个文件移动至ns目录下tk8.4.18下

$ cd/home/liu/Program/ns-allinone-2.33/tk8.4.18

$ patch –p1<tk-8.4-lastevent.patch

(2)打上准备的补丁tk-8.4.18-tkBind.patch
将文件tk-8.4.18-tkBind.patch移至ns-allinone-2.33目录下,并运行如下命令:
$patch -p0 <tk-8.4.18-tkBind.patch

linux
相关资讯       ns2.33  Ubuntu NS2.33 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款