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