Ubuntu 20.04安装ns3

前言

  • 我的环境: Ubuntu 20.04,安装的是ns3-3.30.1

安装依赖包

  • 请以官网为准:https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint
  • 有几个地方需要自己改一下,我在下面标了
  • 建议全程使用root用户进行安装,否则自行添加 sudo
    • su --
  • 首先是C++和python3(其实ubuntu 20.04已经内置了)
 apt-get install g++ python3
  • 如果你要安装的版本是3.30或3.31或ns-3-dev,你还需要安装(推荐安装)
 apt-get install python3-dev pkg-config sqlite3
  • 对Python(开发)的最低要求:为了使用ns-3-allinone存储库(从Git克隆),需要其他软件包才能获取并成功安装pybindgen和netanim。
 apt-get install python3-setuptools git
  • qt5
 apt-get install qt5-default mercurial
  • ns-3-pyviz可视化工具的依赖(安装失败也没事儿,这个以后再说)

    • 对于ns-3.28和更早的版本,PyViz基于GTK + 2,GooCanvas和GraphViz:

       apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
      
    • 对于Ubuntu 18.04,不再提供python-pygoocanvas。 ns-3.29和更高版本将支持升级到GTK +版本3,并且需要以下软件包:

      apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3  
      
  • 基于MPI的分布式仿真的依赖

    apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
    
  • bake构建工具的依赖:

     apt-get install autoconf cvs bzr unrar
    
  • 调试

     apt-get install gdb valgrind 
    
  • utils / check-style.py代码样式检查程序的依赖

    apt-get install uncrustify
    
  • Doxygen和相关的在线文档:

     apt-get install doxygen graphviz imagemagick
     apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
    
  • ns-3手册和教程使用Sphinx的reStructuredText(doc / tutorial,doc / manual,doc / models)编写,并且图形通常以dia(还需要上面的texlive软件包)编写:

     apt-get install python3-sphinx dia 
    
  • GNU科学库(GSL)支持更精确的802.11b WiFi错误模型(OFDM不需要):

     apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
    
  • 读取pcap数据包跟踪

    apt-get install tcpdump
    
  • 数据库对统计框架的支持

    apt-get install sqlite sqlite3 libsqlite3-dev
    
  • 配置存储的基于Xml的版本(需要libxml2> =版本2.7)

    apt-get install libxml2 libxml2-dev
    
  • 支持生成修改后的python绑定(这步官网是安装的pip,但是现在一般都是python3,ubuntu20.04已经不支持pip,所以这里我换成了python3的pip)

     apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake python3-pip
     python3 -m pip install --user cxxfilt
    
  • 基于GTK的配置系统

    apt-get install libgtk-3-dev
    
  • 试验虚拟机和ns-3

     apt-get install vtun lxc uml-utilities
    
  • 支持openflow模块(需要一些boost库)官网还要安装libboost-signals-dev,但是无论是ubuntu官网还是网上,都没有有关这个的信息,然后网上说openflow这个可以不安,所以对于libboost-signals-dev,有需要的自行解决

    apt-get install libboost-filesystem-dev
    

安装与build

  • 到官网安装:https://www.nsnam.org/

  • 如果你的环境与我的是一致的,那么建议安装ns-3.30.1

  • 下载后,进行解压

  • 在在ns-allinone-3.30.1文件夹下运行build(这个过程很漫长,编译近3000个文件。。。):

    sudo ./build.py --enable-examples --enable-tests
    
  • 看到以下界面就表明build成功,缺少的模块如果需要用到,可以另行添加,如果期间出现红色字体,说明有些功能没有完成,不过不影响。

    Ubuntu 20.04安装ns3_第1张图片

使用waf编译与测试

  • 在在ns-allinone-3.30.1/ns-3.30.1文件夹下执行:

    sudo ./waf clean
    sudo ./waf --build-profile=debug --enable-examples --enable-tests configure
    
  • 最后出现configure finished successfully

  • 使用test.py测试:

    sudo ./test.py -c core
    
  • 运行经典的第一个脚本

    sudo ./waf --run hello-simulator
    
  • 如果出现 Hello Simulator 说明安装成功。

    Ubuntu 20.04安装ns3_第2张图片

你可能感兴趣的:(Ubuntu 20.04安装ns3)