Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22177
  • 博文数量: 9
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-25 16:56
文章分类

全部博文(9)

文章存档

2010年(3)

2009年(6)

我的朋友
最近访客

分类: 系统运维

2009-12-25 18:35:43

第一次执行cygwin的时候,会根据目前电脑的使用者和电脑的名称等信息,在cygwinhome的目录下产生一个使用者的资料夹,并放入环境变量设定等相关档案(.bashrc.bashrc_profile.inputrc)(这三个文件要看个人电脑的配置和cygwin的安装目录,所以这三个文档不一定有。我的就没有,至于在这种情况下怎样配置路径,我会在后面讲到)。使用pwd命令可以查看当前路径。使用pwd的时候会创建home目录(/home/ling 注意,这里的ling是我自己的电脑管理员的名称,每个人的电脑是不一样的,如果是一样的,如有雷同实属巧合)。

 接下来就是下载解压ns2了。

     先去 或者 下载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.312.322.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。(补丁可以到这里下载

--- 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 << 28)
-
 #define ActivateMask     (1L << 29)
 #define VirtualEventMask    (1L << 30)
-#define TK_LASTEVENT     (LASTEvent + 4)
 
 
 /*

把这个文件移动至ns目录下tk8.4.13D:\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.12tcl8.4.13tk8.4.13otcl-1.12(这些每个版本是不一样的,如果是ns2.80,则是nam1.11tcl8.4.5tk8.4.5otcl-1.9;如果是ns2.33,则是nam1.13tcl8.4.18tk8.4.18otcl-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)检测安装是否成功。

    如果大家还有什么问题,欢迎大家一起讨论!

 

阅读(869) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:热烈祝贺博客开通

给主人留下些什么吧!~~