这学期学了传感器网络需要安装NS-2,在Ubutu下安装软件是一件特别难受的事情,一直鼓捣了半天才弄好,我把这次的安装过程总结下来,为别人安装提供一下帮助。
第一步下载并且解压
首先提供一下官方下载平台https://www.isi.edu/nsnam/ns/ns-build.html
一定要下载allinone的版本,这样安装比较容易。
下载好之后进行解压,例如在home文件夹下建立WSN文件夹,把下载好的压缩办放入,之后进行解压。这两项步骤都可以用图形界面的方式完成。
第二步升级Ubuntu系统的安装包
进入超级用户的权限
输入三个指令
apt-get update #更新源列表
apt-get upgrade #更新已经安装的包
apt-get dist-upgrade #更新软件,升级系统
第三步安装ns2运行时需要的三个依赖包
apt-get install build-essential
apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #for tcl and tk
/*个人说明一下:安装这个依赖包后,在以后调试涉及./configure时会提示找不到tcl的路径,解决方法是 ./configure –with-tcl-ver=8.5*/
sudo apt-get install libxmu-dev libxmu-headers #for nam
第四步进入安装
运行,之后
第一次报错
make: *** [linkstate/ls.o] Error 1
Ns make failed!
这是因为Ubuntu版本太高GCC版本太高导致,因此需要修改一下
修改ls文件,位置是:ns-2.35/linkstate/ls.h
第137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为:void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
第五步配置环境变量
修改当前用户环境变量(对应的文件为’/home/用户名’中的.bashrc,并非’/ns-allinone-2.35’底下的空白.bashrc)
gedit ~/.bashrc # ~ 这个符号为当前用户根目录,即/home/用户名
1
直接在文档的最后面加上以下环境变量(把用户名改成你的就行):
(注意:你在第一步更新tk和tcl时,版本如果是8.15.19或者其他版本,请替换以下中8.5.10为你的版本号)
把tao换成你的文件夹名称就可以了
第六步测试
显示%说明成功了,如果是别的,请重新配置环境变量或者升级所需要的包
一般来说,在安装过程中,请一定要先升级所需要的包,这样成功的可能性大。