NS2安装

简介: NS-2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2.

NS-2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2.

为了一个ns2(完成安装后不过100M)而安装linux(RH9完全安装大概在5G左右)实在不值,所以我决定用cygwin
先去
http://www.cygwin.com/setup.exe
下载setup.exe,运行,得到这个界面:

点击查看原始大小图片~

点下一步,出现这个界面:
点击查看原始大小图片~
选择“Install from Internet”,当然,如果本地已经下载了你所需要的package,也可以选“Install from Local Directory”

接下来选择安装位置:
点击查看原始大小图片~
可以自己选择一个目录安装。现在(10/13/05)的cygwin版本跟NTFS完全兼容,所以不用担心,可以放心的把它装在NTFS分区。至于Test File Type,建议最好设成unix,虽然我没试过用dos格式,但是鉴于OpenSource的软件原本都是linux/unix下的,所以最好还是用unix

继续下一步
点击查看原始大小图片~
选择一个保存package的地方,我们要用到的package大小大概是60M。当然,如果选择的是Install From Local Directory,那么这一步就会变成“指定package所在的位置”

下一步
点击查看原始大小图片~
指定代理服务器。教育网内的机器是没办法直接上国外网的,所以要指定代理。最该死的是它的 mirror list放在国外,所以即使你知道一个国内的ftp地址(可以下载package的地址,比如ftp://ftp.sjtu.edu.cn/cygwin),你也得指定代理服务器,要不然你就没办法获得mirror list,安装就进行不下去。清华校内的话,除实验室之外推荐使用代理,强烈建议不要直接连国外,要知道国际流量可是 1元/MB,安装一次就需要60RMB!

下一步
点击查看原始大小图片~
选择镜像站点。cygwin有很多镜像站点(但是上面列的都是国外的),可以选择其中一个下载package。也可以自己指定一个站点。比如,如果要用ftp://ftp.sjtu.edu.cn/cygwin,可以在User URL中填这个地址,然后点add,就能将这个地址加到上面的镜像列表中,然后可以选择这个镜像进行安装。

下一步
点击查看原始大小图片~
选择要安装的软件包。这里我只列出ns2需要的包,其中不包括安装程序默认安装的包:
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
点右上角的view,使它旁边的状态显示为Full,你就能看到按字母顺序排序的package列表,在这些包前点鼠标,使它们处于非“Skip”的状态

下一步
点击查看原始大小图片~
开始下载文件,准备安装。下载过程会比较慢,因为总文件有60多M,且分成很多小文件。如果是代理服务器,可能还会更慢,推荐早上开机安装,然后去上自习,估计中午就能下完了  :-P

下载完成后,系统会自动开始安装
点击查看原始大小图片~
安装过程还是比较慢的,耐心等待就是了

安装完成
点击查看原始大小图片~

让人高兴的提示


到这里,cygwin安装完成,这时桌面上应该出现了一个cygwin的图标,点击运行,就能看到cygwin的界面了


接下来就是安装ns2了
先去
http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz
下载ns-allinone安装包。当然也可以选择下载单独的包,然后一个一个安装,不过真的不推荐,因为太麻烦了

下载完后,用winrar(我确定winzip能不能解压tar格式的文件,谁试试,告诉我一声)把里面的文件都解压到 cygwin安装目录下的 home目录的子目录下,比如在我这里就是  c:\cygwin\home\hct 。

启动cygwin,
cd /home/hct/ns-allinone-2.28
./install
安装过程就开始了。由于目录不一样,上面的命令可能不太一样。

安装过程是很漫长的,因为我们下载的是源文件,机器还得先编译,等吧……

安装完后会出现这个提示:
点击查看原始大小图片~

这时还需要修改路径信息,把可执行文件的路径加到PATH环境变量中
打开 c:\cygwin\home\hct\.bashrc (当然,根据安装路径不同,这个文件所处的位置也不同),在文件末尾加入这些信息:

export NS_HOME=/home/hct/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library

.bashrc文件可以用记事本打开,不过最好用UE,因为它是unix格式的文本
加入后的文件像这样:
http://www.sinzy.net/Test/i1/20051013132448_1dwgbc45_.bashrc

现在我们的工作就基本完成了。
保存.bashrc,打开cygwin,运行 startxwin.bat
这时应该出现这样的窗口:
点击查看原始大小图片~

运行
cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples
ns example2.tcl

应该会出现这样的窗口:
点击查看原始大小图片~
这就表示ns2安装圆满完成了!


Problems & Solutions

P:  运行 startxwin.bat 时提示“No Such File or Directory”
S:  可能是没有安装X-Startup-Scripts,重新运行setup.exe,然后选择安装就行了
    也可能是环境变量没有设置好,按上面的设置再检查一遍,注意要把 hct 改成你相应的名字
    另外,应该运行 startxwin.bat ,不能只打 startxwin

P:  运行 ns examples2.tcl 时提示" no such file or directory"
S:  如果是找不到 examples2.tcl 那就是你打 cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples 的时候出了错
    如果是找不到ns,那就是环境变量没设置好

P:  运行 ns examples2.tcl 时提示“nam:  no such file or directory”
S:  看看你的 /home/hct/ns-allinone-2.28/nam-1.11 目录下有没有 nam.exe 文件,有的话就是你的环境变量设置错了,注意要把 nam-1.11 这个目录加到PATH中
    如果没有nam.exe,那就是编译nam时出错了。运行 gcc -dumpversion 看看你的gcc版本,如果是3.4.x,那就好办了。找到 nam-1.11/agent.h ,把它的第73行中的NULL改成0,然后回到nam-1.11目录,运行 ./configure 然后运行 make,等运行完毕,再试试 ns example2.tcl 就应该没问题了
    如果gcc版本不是3.4.x,那就不知道是什么问题了,不过可以肯定是编译出了错,所以换个nam版本试试吧

目录
相关文章
|
3月前
|
Android开发
Android编译出现Warning: Mapping new ns to old ns的解决方案
Android编译出现Warning: Mapping new ns to old ns的解决方案
348 3
|
存储 Java 开发工具
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://sch
构建警告:将新 ns 映射到旧 ns 尝试删除并重新安装 SDK 平台。删除 ~\Android\Sdk\platforms 中的文件夹并下载您需要的 SDK。 编辑:以上以某种方式解决了之前的问题,但是当更新更多外部包时,我再次遇到了同样的问题。这一次,删除 SDK 平台不起作用。相反,我在项目的两个位置更新了 Gradle:
2111 0
|
Swift iOS开发
Xcode10 NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END
前言 升级成 Xcode 10 之后每次 New File 看到 .h 基本都能看到 NS_ASSUME_NONNULL_BEGIN 和 NS_ASSUME_NONNULL_END 成对出现在 @interface 与 @end 上下, 包裹住它, 这两对关键字并非新特性, 只是 Xcode 10 之后系统默认实现了, 应该是考虑到与 Swift 混编, 为了更好兼容其 optional 与 non-optional。
1846 0