• Ubuntu 18.04 上安装水下网络仿真器Aqua-Sim NG


    目前水下传感网的研究内容并不多,仿真软件就更加匮乏了,目前比较完善并且在持续更新的仿真软件有DESERT-Underwater(基于NS-2), Unet-Stack(基于JVM开发), 和Aqua-Sim NG(基于NS-3)。

    本文主要是介绍Aqua-Sim NG 的安装。

    NS-3源码下载: 首先先去网址 https://www.nsnam.org/releases/ 下载NS-3的源代码,目前Aqua-Sim NG经过测试可以使用的是 3.24, 3.26, 3.27三个版本。

    我这里下载的是3.26版本,将下载下来的文件使用如下命令解压: tar xjf ns-allinone-3.26.tar.bz2

    Aqua-Sim NG源码下载: Aqua-Sim NG去GitHub https://github.com/rmartin5/aqua-sim-ng 下载,然后将下载下来的压缩包解压。将解压后的文件复制到ns-allinone-3.26/ns-3.26/src/目录下。从这里可以看出Aqua-Sim NG其实是被作为NS-3的一个模块一起被编译安装。

    后续的步骤基本上就是ns-3的安装过程了。

    第一步:处理gcc版本

    ns3的安装需要使用gcc和g++编译,但是Ubuntu18.04系统默认的gcc/g++版本一般在7.X多,而ns3的编译不支持太高版本的gcc/g++,如果不将gcc/g++降级的话,在编译安装ns3时会失败。

    可以先通过命令gcc -v查看一下系统中当前gcc/g++版本。

    如果确实较高则执行如下命令降低gcc和g++版本:

    #安装低版本gcc和g++
    sudo apt-get install gcc-5
    sudo apt-get install g++-5
    #进入/usr/bin目录
    cd /usr/bin
    #先备份
    sudo mv gcc gcc.backup
    sudo mv g++ g++.backup
    #然后将我们下载的5.几版本的gcc和g++链接过去
    sudo ln -sf gcc-5 gcc
    sudo ln -sf g++-5 g++
    #参看是否降级成功
    gcc -v
    

    注意:sudo apt-get install gcc-5 这条命令如果写出具体的gcc版本在我的系统上无法成功执行,但是模糊的写一个gcc-5就可以成功执行,命令会自动下载一个gcc-5.5。g++同理。

    第二步:安装相关依赖

    在正式编译安装ns3之前,要先安装很多依赖软件,执行以下命令安装这些依赖即可:

    sudo apt-get update
    sudo apt-get install gcc g++ python
    sudo apt-get install gcc g++ python python-dev
    sudo apt-get install mercurial
    sudo apt-get install bzr
    sudo apt-get install gdb valgrind
    sudo apt-get install gsl-bin libgsl-dev libgsl2 
    sudo apt-get install flex bison libfl-dev
    sudo apt-get install g++ gcc
    sudo apt-get install tcpdump
    sudo apt-get install sqlite sqlite3 libsqlite3-dev
    sudo apt-get install libxml2 libxml2-dev
    sudo apt-get install libgtk2.0-0 libgtk2.0-dev
    sudo apt-get install vtun lxc
    sudo apt-get install uncrustify
    sudo apt-get install doxygen graphviz imagemagick
    sudo apt-get install python-sphinx dia
    sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
    sudo apt-get install libboost-signals-dev libboost-filesystem-dev 
    sudo apt-get install openmpi*
    sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
    

    可以把这些命令复制到一个脚本文件里一次性执行,免得一条一条执行太麻烦。

    第三步:正式安装

    1、先进入到目录ns-allinone-3.26,然后执行如下命令:

    cd ns-allinone-3.26
    sudo ./build.py 
    

    2、然后进入到目录ns-3.26,执行命令

    cd ns-3.26
    sudo ./waf clean
    

    3、在目录ns-3.26下,执行如下命令完成编译安装

    sudo ./waf -d debug --enable-example --enable-tests configure
    sudo ./waf
    

    如图下图所示,出现该情况表示编译成功

    第四步:测试

    在ns-allinone-3.26/ns-3.26目录下,执行如下命令,测试是否安装成功:

    sudo ./waf --run hello-simulator
    

    输出Hello Simulator表示NS-3安装成功

    也可以运行如下命令运行Aqua-Sim NG的一个示例程序,如果正常输出不报错误,则表明Aqua-Sim NG成功安装。

    sudo ./waf --run broadcastMAC_example
    
  • 相关阅读:
    luogu P4284 [SHOI2014]概率充电器 期望 概率 树形dp
    luogu P5161 WD与数列 SAM 线段树合并 启发式合并
    5.5 省选模拟赛 B Permutation 构造 贪心
    luogu P3761 [TJOI2017]城市 树的直径 bfs
    一本通 1783 矩阵填数 状压dp 容斥 计数
    CF R638 div2 F Phoenix and Memory 贪心 线段树 构造 Hall定理
    BSOJ 5445 -- 【2018雅礼】树 prufer序列 dp
    CF1037H Security 线段树合并 SAM
    c++11の顺序容器
    c++11の关联容器
  • 原文地址:https://www.cnblogs.com/variablex/p/14141035.html
Copyright © 2020-2023  润新知