3.2 Ns-2 软件的安装
3.2.1 Windows 系统下安装 Cygwin
登陆 Cygwin[7]官网,下载安装
程序 setup.exe,然后运行。选择将 Cygwin 下载到本 地
计算机,即 download without installing。点击下一步,选择 Cygwin 将要下载到的目标 目录。然后按照提士依次进行。 当出现如图 3.2 所示的对话框时, 点击 View 按钮, 使之为 Full 形式, 如图 3.3 所示。 这时 我们只选择 Ns-2 需要的软件包。分别是: gcc, gcc-g++, gnuplot, make, patch, perl, tar, X-startup-scripts, xorg-x11-base,xorg-x11-bin,xorg-x11-devel,xorg-x11-bin-dlls,xorg-x11-bin-lndir, xorg-x11-etc,xorg-x11-fenc,xorg-x11-fnts,xorg-x11-libs-data,xorg-x11-xwin。 即分别点击上述软件包使之为非 skip 形式。然后等待安装即可。此时注意要取消 左下角的“hide obsolete packages” ,防止漏掉一些隐藏的
软件包。
1
图 3.1 cygwin 安装 Ns-2 所需软件包
图 3.2 点击 View 使显示方式为 Full
2
3.2.2 通过 cygwin 安装 Ns-2
在 Ns-2 官网上下载 Ns-2 的安装包,避免安装步骤的繁琐,这里采用 Ns-2 提供的 一次性的安装包来安装。安装的版本为 ns-allinone-2.29[7]。 Cygwin 是在 windows 系统下创造一个 Linux
系统的虚拟环境。因此用 cygwin 安装 Ns-2 要将 ns-allinone-2.29.tar.gz 的压缩包放到 Cygwin 提供的家目录下,这里是: Cygwin/home/Administrator。 打开 Cygwin 界面。 输入命令 “tar xvzf ns-allinone-2.29.tar.gz” 解
压缩。不能通过 Windows 系统下的方式解压缩。 此次安装经验提示要提前做如下修改: Ns-linone-2.29/tclcl-1.17/conf/makefile.win 中,将“MSVCDIR=”后面的路径改成本 电脑 VC++的目录,将“LOCAL_SRC =” 后面的路径改成 ns-allinone-2.29 的目录。然 后修改 ns-allinone-2.29 中各个模块的型号分别为: TK_VER=83 TCL_VER=83 TCL_SUFFIX=8.4.11 TK_SUFFIX=8.4.11 OTCL_DIR=$(LOCAL_SRC)\otcl-1.11 TCLCL_DIR=$(LOCAL_SRC)\tclcl-1.17 完成后打开 Cygwin 界面,输入命令“cd ns-allinone-2.29” ,进入 ns-allinone-2.29 文 件夹。输入命令“./install”等待安装(如图 3.3) 。
图 3.3 输入命令“./install”后开始安装
3
当出现图 3.4 所示界面时,说明安装成功,在 Ns-2.29 文件夹下即可运行 ns 命令。 但要在 cygwin 环境下直接运行 ns,则需要按照提示在 home/Administrator/.bashrc 中添 加修改环境变量的代码: Export PATH="$PATH:/home/Administrator/ns-allinone-2.29/bin:/home/Administrator/ns-allinone-2. 29/tcl8.4.11/unix:/home/Administrator/ns-allinone-2.29/tk8.4.11/unix" Export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/Administrator/ns-allinone-2.29/otcl-1 .11:/home/Administrator/ns-allinone-2.29/lib" Export TCL_LIBRARY="TCL_LIBRARY:/home/Administrator/ns-allinone-2.29/tcl8.4.11/library"
图 3.4 Ns-2 安装完成界面
4
图 3.5 Ns-2 安装成功界面
添加后重新打开 Cygwin,输入
命令“ns” ,出现图 3.5 界面,说明安装成功。
3.2.3 安装时出现的常见错误及解决方法
下面介绍本文在安装过程中遇到的问题以及解决方法[8] 1.不匹配括号
问题,将下列文件夹中的.rellid’改为./relid。 ns-allinone-2.29\tcl8.4.11\unix\configure ns-allinone-2.29\tcl8.4.11\unix\tcl.m4 ns-allinone-2.29\tk8.4.11\unix\configure ns-allinone-2.29\tk8.4.11\unix\tcl.m4 ns-allinone-2.29\otcl-1.11\configure 2.出现: sctp/sctp.h:705: error: extra qualification 'SctpAgent::' on member 'DumpSendBuffer' make: *** [trace/trace.o] Error 1 即文件 sctp.h 里面第 705 行 DumpSendBuffer 函数前面的'SctpAgent: '为额外限制, : 去掉即可。另外容易出现同样错误的还