NS2安装篇

安装环境:Ubuntu 10.04 + ns-allinone-2.33

注:建议执行的步骤为 1,2,3,7,4,5,6 可以免去重复安装的过程(经验之谈)。

1、将ns2的压缩包ns-allinone-2.33.tar.gz拷贝到桌面,右键解压到桌面,将解压后的文件夹剪切到你想安装的位置,例如在我的文件夹home/liu(liu是我的登录用户名)下新建文件夹Program,将ns2的文件夹粘帖到home/liu/Program下

2、在终端里下载所需安装包

(1)打开一个终端,输入sudo -i 回车输入root密码进入root权限操作

(2)下载并安装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的安装。

3、检查gcc版本

如果gcc的版本大于4.0则在./install之前要做一些修改("gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本(我的为gcc version 4.4.1),这个命令改为了gcc -share即可")
补充:怎样查看gcc版本?
终端执行ls /usr/bin/gcc –l或者gcc –version或者gcc -v
查看过gcc版本之后,如果确实是4.0以上的版本,需要做以下修改:
  cd  /home/liu/Program/ns-allinone-2.33//otcl-1.13
  
  sudo gedit configure.in
  将77行,
SHLIB_LD="ld -shared" 
改为
SHLIB_LD="gcc -shared"

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

4、安装ns2

移动到ns2目录下cd /home/liu/Program/ns-allinone-2.33/

安装 ./install

接下来你会看到波澜般的滚动字幕,请耐心等待,安装过程需要四,五分钟左右。当你看到如下信息,说明基本安装完成:


Please put /home/lin/ns-allinone-2.33/bin:/home/lin/ns-allinone-2.33/tcl8.4.18/unix:/home/lin/ns-allinone-2.33/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.


IMPORTANT NOTICES:


(1) You MUST put /home/lin/ns-allinone-2.33/otcl-1.13, /home/lin/ns-allinone-2.33/lib, 
    into your LD_LIBRARY_PATH environment variable.
    If it complains about X libraries, add path to your X libraries 
    into LD_LIBRARY_PATH.
    If you are using csh, you can set it like:
        setenv LD_LIBRARY_PATH
    If you are using sh, you can set it like:
        export LD_LIBRARY_PATH=


(2) You MUST put /home/lin/ns-allinone-2.33/tcl8.4.18/library into your TCL_LIBRARY environmental
    variable. Otherwise ns/nam will complain during startup.




After these steps, you can now run the ns validation suite with
cd ns-2.33; ./validate


For trouble shooting, please first read ns problems page 
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.
5、 配置环境变量  
退到ns-allinone-2.33的上一级目录,在终端输入:sudo gedit .bashrc

      在文件最后编辑如下信息,并保存:

PATH="$PATH:/home/liu/Program/ns-allinone-2.33/bin:/home/liu/Program/ns-allinone-2.33/tcl8.4.18/unix:/home/liu/Program/ns-allinone-2.33/tk8.4.18/unix"

LD_LIBRARY_PATH="/home/liu/Program/ns-allinone-2.33/otcl-1.13:/home/liu/Program/ns-allinone-2.33/lib"

TCL_LIBRARY="$TCL_LIBRARY:/home/liu/ns-allinone-2.33/tcl8.4.18/library"

注:把路径中的liu换成你自己的路径

6、验证是否安装成功

     
另外打开一个终端,输入ns,查看是否进入%,如果已经进入则表示安装成功,运行自带的实例进行测试: /ns-allinone-2.33/ns-2.33/tcl/ex/simple.tcl

7、可能的问题及解决办法

(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 {
%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..."

       原因:据说是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

(2)打补丁tk-8.4.18-tkBind.patch(补丁下载

将文件tk-8.4.18-tkBind.patch移至ns-allinone-2.33目录下,并运行如下命令:
              
$patch -p0

(3)重新安装ns-allinone-2.33

       打上补丁后,再安装ns2.33,输入命令:

      $cd ns-allinone-2.33

      $./install

     安装过程就开始了,这次安装成功后,你就可以享受NS2的强大功能了。



你可能感兴趣的:(NS2)