安装ns-allinone-2.34的经历,让我深深感到学习WSN的难度。
由于对linux系统的恐惧,想在windows xp下安装ns-allinone-2.34,于是先安装了cygwin,然后安装ns-allinone-2.34时关键时刻总出错,网上对这种新版本的ns2的安装解决方案也没有,最后只能放弃,开始了linux安装之旅。
步骤一、安装linux系统之Ubuntu
同时在该网站上下载了wubi.exe,能帮助初装的人在windows下自动安装Ubuntu 11.04。
1、在电脑里整理出10G大小的磁盘空间,用以安装Ubuntu 11.04。点击wubi.exe,出现自动安装的界面,设置好安装的磁盘位置,大小,以及用户名和密码等(这个很重要,也一定要记住),系统就会进入自动安装过程,要保持网络连接顺利。
2、上述过程结束后,电脑将重启,同时进入到windows和ubuntu两个系统界面选项,此时移动上下键,选择ubuntu,进入到ubuntu的自动安装界面。
整个过程,由于各种笨笨的操作失误,我持续了将近5个多小时,实际上2个小时就可以搞定。不过我安装完后,很是兴奋,呵呵,第一次独立安装了linux系统,没有高手指点,安装后的Ubuntu系统很是漂亮,与多年前我对linux系统的印象完全不一样。记得五六年前,为了完成linux系统下嵌入式程序开发,研究过一些linux,对此深感恐惧和遗憾,那时的操作系统界面不是友好界面,什么都得靠指令,而且很多应用程序要经历诸多曲折才能安装在linux下。而现今的Ubuntu系统,已经呈现出比windows 7更好的性能,令人很是神奇!
步骤二、Ubuntu11.04下安装ns-allinone-2.34.tar.gz
安装操作系统只是简单的一步,ns2的安装才是令人头大的关键。
按照网上的指示,似乎安装ns2很简单,只要解压、安装就能成功,可事实是,由于我下载的版本很高,很多文件并没有相应的更新,在安装过程中,要手动修改文件。
1、更新Ubuntu系统文件,虽然系统是最新版本的,但是不代表里面的文件都是最新的,需要更新。
使用快捷键Alt + F2,得到程序查找窗口,输入gnome termina,打开Ubuntu的终端,里面依次输入命令
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
即可。这里首次采用sudo时,需要用户密码,也就是安装ubuntu时设置的。
2、为了更好的安装ns2,还需要进行一些package的安装,打开终端,输入
sudo apt-get install build-essential
sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
sudo apt-get install libxmu-dev libxmu-headers
tar xvfz ns-allinone-2.34.tar.gz
cd /home/yourfile/ns-allinone-2.34
./install
4、上述安装会出现两个问题,导致ns2安装不能成功,这也是以前的版本为出现过的。这两个问题都需要手动修改一些文件。
问题1、上述安装结束后,出现tcl8.4.18 make failed! Exiting!搜索网上解决方案如下,
cd /home/yourfile/ns-allinone-2.34
cd ns-2.34/otcl-1.13
sudo gedit configure.in
在弹出的窗口文件中的77行处的 SHLIB_LD="ld-shared" 改为 SHLIB_LD="gcc-shared" 后保存退出。
sudo gedit configure
在弹出的窗口文件中的6304行处的 SHLIB_LD="ld-shared" 改为 SHLIB_LD="gcc-shared" 后保存退出。
问题2、出现mobile/nakagami.cc:183:73: error: cannot call constructor mobile/nakagami.cc:185:67: error: for a function-style cast, remove the redundant ‘::GammaRandomVariable’
make: *** [mobile/nakagami.o] 等,
cd /home/yourfile/ns-allinone-2.34
cd ns-2.34
sudo gedit tools 在弹出的窗口文件中找到219行,删除 ::GammaRandomVariable
sudo gedit mobile 在弹出的窗口文件中找到183行,删除 ::ErlangRandomVariable,找到185行,删除 ::GammaRandomVariable
5、至此,重新运行./install应该能顺利安装ns2,此时需呀地环境变量进行路径的设置
sudo gedit .bashrc
在弹出的窗口文件最后输入
export PATH=$PATH:/home/yourfile/ns-allinone-2.34/bin:/home/yourfile/ns-allinone-2.34/tcl8.4.18/unix:/home/yourfile/ns-allinone-2.34/tk8.4.18/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yourfile/ns-allinone-2.34/otcl-1.13:/home/yourfile/ns-allinone-2.34/lib
export TCL_LIBRARY=$TCL_LIBRARY:/home/yourfile/ns-alllinone-2.34/tcl8.4.18/library
6、关闭Ubuntu的终端,并重新打开,输入ns,命令提示,ns2尚未安装,并提示使用命令
sudo apt-get install ns2即可。再次输入ns,出现%,代表你已经安装成功了
也可以运行自带的实例进行测试: ns /ns-allinone-2.33/ns-2.33/tcl/ex/simple.tcl ,
可以看到nam模拟窗口 。
注意:不要在终端中进入ns,而是直接的运行cd 安装路径/......./examples,然后再执行
ns example2.tcl
就可以了,不会出现以下的错误:warning: using backward compatibility mode
error when calling class OldSim: example.tcl
NS2的安装总算告一段落,着实让我兴奋了半天,以后的路还很长,因为这是一个对我全新的领域,充满着新鲜和迷茫呢!
https://blog.sciencenet.cn/blog-282398-468286.html
上一篇:
答辩谢幕,学生生涯结束下一篇:
岗前培训明天开始了