分享

VirtualBox Ubuntu10.4+ns2.3x安装

 幸福的乐土 2012-11-29
NS2.31装好已经很久了,也遇到了不少问题,一直想整理成文字,因为没有开博客所以没有放上来,今天趁着小休把安装过程中遇到的问题整理一下:
1.安装 VirtualBox:
    https://www./wiki/Downloads (其他如VMWare也能装,看大家的喜好了

2.下载并安装Ubuntu10.4:
    http://www./ (最新的 Ubuntu 12.04 LTS已经出来了,不过对于NS2的安装来说,低版本最到的问题会少一些,主要是编译器方面的问题,所以建议大家不要一味的追求高版本,对NS2也是如此。想想上个世纪我们的286、386还没充分发挥其功效,486、586。。。。。。甚至于现在的多核CPU就不断地冲击着人们的大脑,让人无从选择,硬件、软件发展得很快,有时候不如选择经典的

3.安装NS2前,需要要更新部分软件:
    在安装NS2之前,一些必要的库、头文件需要手动安装,可在终端下以超级用户模式来安装(CP并执行如下命令即可):
    sudo apt-get install build-essential tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev libxmu-dev libxmu-headers
    一般情况下,在Ubuntu10.4下不要再单独执行以下命令来安装编译器:
    sudo apt-get install gcc-4.4
    sudo apt-get install g++-4.4
    如果编译不了,或提出编译器版本不匹配,再执行上述命令来单独安装编译器!

4.下载 NS2.3x: 
    http://nsnam./nsnam/index.php/Main_Page 目前该页面提供从2.31至2.35的下载链接

5.拷贝ns-allinone-2.3x.tar.gz至/home/xxxx (xxx为你的用户主目录)下,执行如下命令解压缩:
    tar -zxvf nsns-allinone-2.31.tar.gz
6.修改部分文件内容,并执行安装:
  (1) 如果gcc的版本大于4.0("gcc4.0版本以前是用ld-share来生成共享库的,但是到了4.0以上的版本,这个命令改为了gcc-share"),则对ns-allinone-2.34 /otcl-1.13下的两个文件进行修改:
  (a)sudo gedit configure.in
     把77行处的
     SHLIB_LD="ld-shared"
   改为
     SHLIB_LD="gcc-shared"
   保存退出,然后
  (b)sudo gedit configure
     把6304行(Ctrl+F)的
       SHLIB_LD="ld-shared"
     改为
       SHLIB_LD="gcc-shared"
   (2)另一个要修改的Bug是有关NAM运行错误,如果不修改,Nam运行时会遇到以下错误:
        [code omitted because of length]
        : no event type or button # or keysym
        while executing
        "bind Listbox <MouseWheel> {
        %W yview scroll [expr {- (%D / 120) * 4}] units
        }"
        invoked from within
        "if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
        bind Listbox <MouseWheel> {
        %W yview scroll [expr {- (%D)}] units
        }
        bind Li..."
  解决方案:
       在tk-8.4.*/generic/tkBind.c的第588行添加:
       #ifdef GenericEvent
       /* GenericEvent */      0,
       #endif

  经过上述两处地方的修正,就可以执行以命令进行NS2的配置与编译了: 
      ./install

  
  搞定,收尾!
  最后对主目录下的.bashrc文件进行相关的目录变量的设置:
   (1)运行 gedit ~/.bashrc
  (2)将如下信息加入.bashrc文件中,保存退出:
export PATH=/usr/bin:$PATH:/home/beijibing/ns-allinone-2.35/bin:/home/beijibing/ns-allinone-2.35/tcl8.5.10/unix:/home/beijibing/ns-allinone-2.35/tk8.5.10/unix:ns-allinone-2.29/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/beijibing/ns-allinone-2.35/otcl-1.14:/home/beijibing/ns-allinone-2.35/lib

export TCL_LIBRARY=$TCL_LIBRARY:/home/beijibing/ns-allinone-2.35/tcl8.5.10/library


  (3)运行source .bashrc命令 或 关闭并重新打开一个终端,即可以在终端下运行NS2了。

也可以运行ns2自带的例子程序:
cd ~/ns-allinone-2.35/ns-2.35/tcl/ex
然后:ns simple.tcl
便可以看到例子程序的输出了。

以下全部无关紧要,有空玩玩也可以

13.现在你可以log-out Ubuntu以便重载环境变量。

14.验证NS2。进入终端输入cd /ns-allinone-2.33/ns-2.33,./validate(这可能会花一段时间)。

验证结束你将会看到如下信息:

These messages are NOT errors and can be ignored:
warning: using backward compatibility mode
This test is not implemented in backward compatibility mode

validate overall report: all tests passed

15. sudo apt-get install gawk

(for gawk)

16. sudo apt-get install gnuplot

(for gnuplot)

17.结束,OK。


补充修正:
在Ubuntu11.10/10.04下安裝ns2.34是可行的,步骤如下:
1. 除了按上面说明进行一样的修正外,还有需要修正以下一些内容:
a)修改ns-2.34/tools/中的ranvar.cc第219行, 将GammaRandomVariable::GammaRandomVariable改为GammaRandomVariable
b) 修改ns-2.34/mobile/中的nakagami.cc:
第183行, 將ErlangRandomVariable::ErlangRandomVariable 改为ErlangRandomVariable; 
第185行GammaRandomVariable::GammaRandomVariable改为GammaRandomVariable
c)修改ns-2.34/mac/中的mac-802_11Ext.h, 加入#include <cstddef> 可选
2.修改 ~ns-2.34/tcl8.X.x/unix/Makefile.in and in line number 270 change @CC@ to @CC@ –V 4.4
3.   ./install
P.S. 現在2.35已經沒這麼麻煩了, 不需要修改otcl-1.13/中的configure, configure.in


最后附上几个有用的博客与网站:
1. http://140.116.72.80/~smallko/ns2/ns2.htm   柯志亨老师的网站,有大量的NS2学习资料,有时上不去
2. http://nsnam./nsnam/index.php/Contributed_Code  其中有不少有用的Code,值得深入学习。 
3. http://linlansworknote./  一个不错的个人博客,有不少实验举例与分析
4. http://bbs.sciencenet.cn/home.php?mod=space&uid=281551&do=blog&id=390046   教你如何将Nam输出保存成动画图片

最近换了个环境:NetBeans7.x+NetBeansTcl plugin+Ubuntu10.04可以完美实现编译/运行/调试/代码辅助等功能,彻底摆脱了无GUI环境的NS2编辑/编译/运行环境,一个字:强!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多