商务合作:179001057@qq.com

在Fedora 11下安装NS2

技术2022-05-11  8


某平台价值19860元的编程课程资料免费领取【点我领取】


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/ns23. 把安装文件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.336. 安装ns2.  

   ./install7. 安装完成后需要做些配置. 进入root用户主目录 /root8. 修改文件/root/.bashrc (该文件为隐藏文件),vi .bashrc 在该文件尾加这三行语句:exportPATH=$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/unixexportLD_LIBRARY_PATH=/home/ns2/ns-allinone-2.33/tcl8.4.18/libraryexportLD_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.编译程序:./install3.将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 3Perhaps 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了。

 


最新回复(0)