windows系统下NS2.35安装

windows系统下安装cugwin与NS2.35

将自己安装NS2.35系统的经历与步骤记录下来,常常总结学到的才会记住。
因为之前从没有接受过NS2.35,身边也没有直接可以来帮忙的人,捣鼓了很多版本。从最开始配套较低版本的教材经验开始,最后确定安装最新版本。前面众多不成功的尝试不再赘述:
2.35的安装参考了两个博文:
http://blog.sina.com.cn/s/blog_579879b90100wz8x.html
http://blog.163.com/freedom_lover/blog/static/20282403120130692623930/
在原文的基础上,我将叙述我的安装错误与解决办法:
一、安装cygwin
之前下载过不成功的首先卸载,运行setup-x86.exe,到安装包选择是点'All'右侧'install'为'unstall',还有一些注册表,压缩包等,保险起见,用搜索搜到后全部删除,干净的重新来安装一遍。

1. 在cygwin官方网站(http://www.cygwin.com/)下载setup.exe。

2. 运行setup.exe。选择Install from Internet,然后选择一个代理,不要直接连。代理的话如果选国内的镜像会快一点,不过国外的也是可以的。 建议安装如下的包(点相应包的skip即可):gcc   gcc-g++  gcc4   gcc4-g++   gawk   gnuplot   gzip   make   patch   perl   tar  
w32api   diffutils
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   libxt-devel   libXmu-devel

前面的gcc4,gcc4-g++是编译器,务必要安装,其他版本没有它也许可以安装,但NS2.35安装不起来,make,patch都是常用的必备的包,后面x开头的都是图形界面相关的包。
PS:"hide"打钩,能够找到隐藏的目录,gcc4,gcc4-g++可以找到;上述文件一定全部选齐。
PS:点击'view'按钮,将从'category'显示目录变为'full'显示全部安装包,逐一寻找以上所述。

3.cygwin下载完这些包以后会自动安装,只需耐心地等待它安装完成。这个过程可能会花一个小时左右。

二、安装NS

1.在下列网站上下载ns2-allinone-2.35.tar.gz安装包。

2.将ns2-allinone-2.35.tar.gz拷贝放入cygwin用户目录下,例如:C:\cygwin\home\用户名

3.运行cygwin,命令行下输入tar xvfz ns2-allinone-2.35.tar.gz。这个命令是解压缩命令,实际上直接用winrar解压缩以后放到目录下也是可以的。

4.进入ns2-allinone-2.35目录(命令为cd ns2-allinone-2.35),执行(输入命令)./install开始安装。这一步实际上是在编译ns、nam等相关的部分,可能需要2小时左右,和电脑的性能有关系,但在windows下肯定不会太快。
PS:第一次安装出现错误linkstate错误,具体如下:
In file included from linkstate/ls.cc:67:0:
linkstate/ls.h: In instantiation of ‘void LsMap::eraseAll() [with Key = int; T = LsIdSeq]’:
linkstate/ls.cc:396:28: required from here
linkstate/ls.h:137:20: error: ‘erase’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
linkstate/ls.h:137:20: note: declarations in dependent base ‘std::map, std::allocator > >’ are not found by unqualified lookup
linkstate/ls.h:137:20: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!
解决办法:
修改ls文件:
ns-2.35/linkstate/ls.h  第137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
然后重新 ./install

5.安装结束后,会提示设定PATH, LD_LIBRARY_PATH, TCL_LIBRARY等环境变量的内容,可在用户目录下修改.bashrc文件,在文件末尾添加以下内容:

export PATH=/home/tracy/ns-allinone-2.35/bin:/home/用户名/ns-allinone-2.35/tcl8.5.10/unix:/home/用户名/ns-allinone-2.35/tk8.5.10/unix:$PATH

export LD_LIBRARY_PATH=/home/用户名/ns-allinone-2.35/otcl-1.14:/home/用户名/ns-allinone-2.35/lib:$LD_LIBRARY_PATH

export TCL_LIBRARY=/home/用户名/ns-allinone-2.35/tcl8.5.10/library:$TCL_LIBRARY


注意:建议用ultraedit等软件打开编辑,不要用记事本(会转换为dos格式),保存的时候保持unix格式,不要转化成dos或者其他格式,否则系统无法识别。
PS:用UE打开以后直接粘贴复制以上内容到最末即可;不需添加#,统一格式。
设置好环境变量后关闭cygwin窗口,再重新打开。然后输入ns,如果出现%,则表示环境变量修改成功,否则就是修改有问题。

6.进入~/ns-allinone-2.35/ns-2.35目录,可运行./validate进行验证(可省略)。耗时很久2小时左右。

你可能感兴趣的:(学习总结)