Unbuntu13.04下安装ns-allinone-2.35
ns-allinone-2.35的安装应该是比较简单的,但是会出现一些小小的问题。同鞋们,只要耐心处理,加上一点点动脑,都能处理好。
ns2简介
NS2是指NetworkSimulator version 2,NS(NetworkSimulator)是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。
ns2下载
这里给出“官网”的介绍页面,比较详细的介绍了ns2,有兴趣可以看一下,里面有下载的链接。
http://www.isi.edu/nsnam/ns/ns-build.html#allinone
语言的问题,可能无法全部理解,所以这篇博客以及相关的博客都可以帮助你下载安装。
我下载安装的是ns-allinone-2.35。
网盘地址:http://pan.baidu.com/s/1gdDwJv1
机器
ubuntu13.04
具体安装过程
1.相关的依赖包
首先,在终端里输入进行下载安装,这一步是为了gccand some essential 的安装;
apt-get install build-essential
接着,在终端里输入进行下载安装,这一步是为了tcland tk 的安装;
apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
最后,在终端里输入进行下载安装,这一步是为了nam的安装。
apt-get install libxmu-dev
我遇到的问题
(1)安装包安装不上
解决方法:
换源。软件下载的源。
可以参照博客里的方法,对照自己的可以顺利衔接的源,替换。
http://blog.sina.com.cn/s/blog_696088df0100mksi.html
http://www.linuxidc.com/Linux/2013-05/83902.htm
(2)换源后
总显示如下类似问题。
//
下列的软件包有不能满足的依赖关系:
libxrender-dev:依赖:libx11-dev (>= 2:1.0.0) 但是它将不会被安装
依赖:x11proto-render-dev但是它将不会被安装
...
///
解决方法:
(1)apt-get -f install
不行的话,就:
(2)将相应的要安装的软件或者包,remove掉。再重新安装。
apt-getremove libxrender-dev xlibs xlibs-dev
再不行的话,
(3)dpkg -r
因为我再(2)就解决问题了,这里只是粘贴一下dpkg的用法。
http://blog.csdn.net/sunjiajiang/article/details/7252593
2.
安装好以上软件后,进入ns文件夹。
$cd ns-allinone-2.35
$./install
开始执行安装过程。
3.安装好,终端出现下面提示。
注意:出现Nsmake failed! 则表示安装失败。没关系,注意一下终端里提示的问题。然后可以搜索一下,会找到答案。
我出现的是:
(1)
Infile included from linkstate/ls.cc:67:0:
linkstate/ls.h: Ininstantiation of ‘void LsMap::eraseAll() [with Key = int; T =LsIdSeq]’:
linkstate/ls.cc:396:28: required fromhere
linkstate/ls.h:137:20: error: ‘erase’ was not declared inthis scope, and no declarations were found by argument-dependentlookup at the point of instantiation[-fpermissive]
linkstate/ls.h:137:20: note: declarations independent base ‘std::map, std::allocator > >’ are not foundby unqualified lookup
linkstate/ls.h:137:20: note: use‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Nsmake failed!
解决方法:
a.进入ns-allinone-2.35/ns-2.35/linkstate/
b.编辑ls.h
Inline number 137, in place of void eraseAll() {erase(baseMap::begin(), baseMap::end()); }
make it voideraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
c.Save the file and again run ./install
(2)
终端提示
pleasecomplie nam yourself类似的
需要自己编译nam。
进入ns-allinone-XX/nam_XX文件夹
依次执行
$./configure
$make
$make install
我就是在这里面出现之前的依赖包没有安装成功。可以参照前面解决。
4.设置环境变量
安装成功之后,终端里也提示要设置环境变量。可以按照提示设置。
具体:
$cd ~ //进入当前用户主文件夹
$sudo gedit ./bashrc
在末尾添加:
exportPATH="$PATH:/home/hadoop/App/ns-allinone-2.35/bin:/home/hadoop/App/ns-allinone-2.35/tcl8.5.10/unix:/home/hadoop/App/ns-allinone-2.35/tk8.5.10/unix"
exportLD_LIBRARY_PATH="/home/hadoop/App/ns-allinone-2.35/otcl-1.14:/home/hadoop/App/ns-allinone-2.35/lib"
exportTCL_LIBRARY="$TCL_LIBRARY:/home/hadoop/App/ns-allinone-2.35/tcl8.5.10/library"
这里是我的路径,可以参照终端提示,填写自己的路径。
5.验证
方法1.
可以进入ns-allinone-XXX中的ns-XXX目录,执行./validate
方法2.
终端里,
$ns
进入%则成功
执行提供的例子程序。
注:
(1)
.bashrc
在你所在的用户的主目录。/home/yourusername/这个目录中。
在命令行中
$cd
或者$cd ~
都可以进入。
这个文件主要保存个人的一些个性化设置,如命令别名、路径等。也即在同一个服务器上,只对某个用户的个性化设置相关。
(2)
其他可能出现的问题。
http://hanyueyingdeng.blog.163.com/blog/static/168426102201063043216841/
http://blog.csdn.net/chenglian_999/article/details/4655610
(3)
最后,补充一个有用的软件gnuplot,画图利器。
sudoapt-get install gnuplot