免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3382 | 回复: 0
打印 上一主题 下一主题

ns2.30的详细安装(cygwin+ns2.30 in windowsXP) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-25 18:35 |只看该作者 |倒序浏览

第一次执行cygwin的时候,会根据目前电脑的使用者和电脑的名称等信息,在cygwin的home的目录下产生一个使用者的资料夹,并放入环境变量设定等相关档案(.bashrc、.bashrc_profile和.inputrc)(这三个文件要看个人电脑的配置和cygwin的安装目录,所以这三个文档不一定有。我的就没有,至于在这种情况下怎样配置路径,我会在后面讲到)。使用pwd命令可以查看当前路径。使用pwd的时候会创建home目录(/home/ling 注意,这里的ling是我自己的电脑管理员的名称,每个人的电脑是不一样的,如果是一样的,如有雷同实属巧合)。
接下来就是下载解压ns2了。
     先去
http://www.isi.edi/nsnam/dist
或者
ftp://ftp.isi.edu/nsnam
下载ns-allinone-2.30.tar.gz安装包。当然也可以选择下载单独的包,然后一个一个安装,不过真的不推荐,因为太麻烦了。
将压缩包ns-allinone-2.30.tar.gz复制到D:/cygwin/home/ling(这个目录是你的cygwin的安装目录下的home目录)下面,再进入cygwin环境中在home/ling目录下使用tar命令解压缩(tar xvfz ns-allinone-2.28.tar.gz)。命令为:
$tar zxf ns-allinone-2.30.tar.gz
     解压完毕。
     因为是ns2.30,它的nam调用的tk组件和xproto-7.0.13 不兼容导致的(xproto-7.0.13 新添加了 GenericEvent),所以我们要打上补丁。至于其他的版本,我知道2.31、2.32、2.33都要打补丁,其他的版本要不要我就不知道了。如果不打上补丁的话,后面调用nam时会报错,系统提示如下:
[code omitted because of length]
: no event type or button # or keysym
    while executing
"bind Listbox  {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
    invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox  {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."
    如果在安装ns过程中,没有出现任何错误,但是在检测成功时输入ns simple.tcl等类似命令时,系统报错,且提示如上,那么恭喜你,你的系统也要打上补丁。
    解决方法为:创建新文件,复制以下内容,更名为tk-8.4-lastevent.patch。(补丁可以到这里下载
http://bugs.gentoo.org/show_bug.cgi?id=225999

--- generic/tk.h.orig 2008-02-06 16:31:40.000000000 +0100+++ generic/tk.h 2008-07-24 08:21:46.000000000 +0200@@ -635,17 +635,15 @@  *  *---------------------------------------------------------------------------  */-#define VirtualEvent     (LASTEvent)-#define ActivateNotify     (LASTEvent + 1)-#define DeactivateNotify    (LASTEvent + 2)-#define MouseWheelEvent     (LASTEvent + 3)-#define TK_LASTEVENT     (LASTEvent + 4)+#define VirtualEvent     (MappingNotify + 1)+#define ActivateNotify     (MappingNotify + 2)+#define DeactivateNotify    (MappingNotify + 3)+#define MouseWheelEvent     (MappingNotify + 4)+#define TK_LASTEVENT     (MappingNotify + 5)  #define MouseWheelMask     (1L - #define ActivateMask     (1L  #define VirtualEventMask    (1L -#define TK_LASTEVENT     (LASTEvent + 4)   /*
把这个文件移动至ns目录下tk8.4.13(D:\cygwin\home\ling\ns-allinone-2.30\tk8.4.13)下。
在cygwin命令窗口中运行命令:
$cd /home/ling/ns-allinone-2.30/tk8.4.13
$patch –p1
然后在提示patch哪个文件的时候输入generic/tk.h
   这样,我们就把补丁打上去了。
   打上补丁后,我们终于可以安装ns2.30了。 输入命令:
$cd /home/ling/ns-allinone-2.30
$./install
    安装过程就开始了。由于目录不一样,上面的命令可能不太一样。
    安装过程是很漫长的,因为我们下载的是源文件,机器还得先编译,等吧……
    安装完后会出现这个提示:

呵呵,本人比较懒,图片直接拷贝别人的,但是大致界面大家都是一样的。
在这个提示信息里,我们要注意了,因为后面要更改配置路径,所以一定要仔细看清楚:上面提到了nam-1.12、tcl8.4.13、tk8.4.13、otcl-1.12(这些每个版本是不一样的,如果是ns2.80,则是nam1.11、tcl8.4.5、tk8.4.5、otcl-1.9;如果是ns2.33,则是nam1.13、tcl8.4.18、tk8.4.18、otcl-1.13)。这些信息,我们之后用于更改配置路径。
    更改配置路径:
(1)之前提到过,如果你的安装目录(/home/ling)下有三个文件,其中一个是后缀名为.bashrc的文件,那么你就在这个文件里修改路径。使用软件UltraEdit把它打开,(最好用UltraEdit,不要用记事本,应为该文件是unix文件,用记事本会出现意想不到的错误,当然如果你会用vi,肯定也没什么问题),在文件末尾加上  
export NS_HOME=/home/ling/ns-allinone-2.30  
export PATH=$NS_HOME/nam-1.12:$NS_HOME/tcl8.4.13/unix:$NS_HOME/tk8.4.13/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.13/unix:$NS_HOME/tk8.4.13/unix:$NS_HOME/otcl-1.12:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.13/library
一共四句命令,其中红色字体的是要用之前提到过的信息更改。
保存。
(2)如果你找不到在/home/ling的目录下找不到那个文件,那么就去/etc下找到bash.bashrc文件(可以用文件搜索功能,因为在etc文件夹中有太多文件了),用UltraEdit打开,将上面四句命令添加到文件末尾,点击保存,不过这时候,修改还是没有生效,必须在cygwin下运行命令:
$cd /etc
$source bash.bashrc
从而使修改生效。补充一点:如果是这种情况,那么以后运行NS2,都得输入上述两条命令。
    哈哈,到现在为止,安装已经完成了。
    现在,我们要检测是否安装圆满:
打开cygwin,运行 startxwin.bat
这时应该出现这样的窗口:

然后在弹出的窗口中输入命令:
$cd /home/ling/ns-allinone-2.30/ns-2.33/tcl/ex
$ns simple.tcl
应该会出现这样的窗口:

这就表示ns2安装圆满完成了!恭喜恭喜!!!
    我的安装过程大致就是这样了。
    总结一下,安装的步骤有:
(1)下载安装cygwin,这里要特别注意不要漏掉必须要装的packet;
(2)下载压缩包ns-allinone-2.30.tar.gz,并把它解压到home目录(/home/ling)下;
(3)打补丁,这个要看版本,好像如果是2.29以上的都要装补丁;
(4)安装ns2.30;
(5)修改配置路径;
(6)检测安装是否成功。
    如果大家还有什么问题,欢迎大家一起讨论!



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/108976/showart_2130947.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP