在Fedora 11下安装NS2

1. 在http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.33/ns-allinone-2.33.tar.gz/download下载 ns- allinone-2.33.tar.gz。
2. root 用户登录linux, 在/home目录下建立ns2安装目录. mkdir /home/ns2
3. 把安装文件ns-allinone-2.33.tar.gz 复制到/home/ns2目录下. 
4. 解压缩ns-allinone-2.33.tar.gz .

     tar -zxvf ns-allinone-2.33.tar.gz 
5. 进入目录ns-allinone-2.33  

   cd ns-allinone-2.33
6. 安装ns2.  

   ./install
7. 安装完成后需要做些配置. 进入root用户主目录 /root
8. 修改文件/root/.bashrc (该文件为隐藏文件),vi .bashrc 在该文件尾加这三行语句:
export
PATH=$PATH:/home/ns2/ns-allinone-2.33/bin:/home/ns2/ns-allinone-2.33/tcl8.4.18/unix:/home/ns2/ns-allinone-2.33/tk8.4.18/unix
export
LD_LIBRARY_PATH=/home/ns2/ns-allinone-2.33/tcl8.4.18/library
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ns2/ns-allinone-2.33/otcl-1.13, /home/ns2/ns-allinone-2.33/lib 
修改完毕保存退出.
9. 新开一个终端,进入ns2安装目录/home/ns2/ns-allinone-2.33.运行'ns'命令会出现%提示符. 这就表明ns2已经安装成功并能使用了.如果不成功,运行source  /root/.bashrc重新获取环境变量设置。
10.最后若想验证一下ns2是否安装成功,可以进入目录/home/ns2/ns-allinone-2.33/,运行'./validate'.不过这会比较耗时间。

 

PS:

1.下载ns-allinone-2.33.tar.gz并把它解压到已建好的安装目录中,如/home/ns2下

2.编译程序:./install

3.将ns-allinone-2.33/bin下的文件复制到/bin下(因为这里放的启动命令文件,这样就不用设置什么路径了)

4.测试:在终端输入ns会出现%表明安装成功。

 

附:

当装好NS2.33后,当调用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)。 解决方法:
到这里下载补丁http://bugs.gentoo.org/show_bug.cgi?id=225999
或者新建一个记事本复制一下内容到里面,保存,命名为“tk-8.4.18-tkBind.patch”(将.txt后缀名改为.patch)
--- tk8.4.18-orig/generic/tkBind.c 2006-07-21 08:26:54.000000000 +0200
+++ tk8.4.18/generic/tkBind.c 2008-07-05 12:17:10.000000000 +0200
@@ -586,6 +586,9 @@
/* ColormapNotify */       COLORMAP,
/* ClientMessage */       0,
/* MappingNotify */       0,
+#ifdef GenericEvent
+ /* GenericEvent */      0,
+#endif
/* VirtualEvent */        VIRTUAL,
/* Activate */             ACTIVATE,
/* Deactivate */           ACTIVATE,)

然后在ns-allinone-2.33下运行patch -p0 < tk-8.4.18-tkBind.patch

会出现:

can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- tk8.4.18-orig/generic/tkBind.c    2006-07-21 08:26:54.000000000 +0200
|+++ tk8.4.18/generic/tkBind.c    2008-07-05 12:17:10.000000000 +0200
--------------------------
File to patch:
然后去查找需要打补丁的文件tkBind.c,它在NS2.33中的位置是~/ns-allinone-2.33/tk8.4.13/generic

在“File to patch: ”后填写好路径名和文件名,打上补丁。

然后重装ns-2.33。


最后,需要将ns-2.33中的“ns”和nam-1.13中的“nam”拷贝到/usr/local/bin下面。

这样就能正常调用ns和nam了。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值