ubuntu20.04 安装ns3

文章目录[x]
  1. 1:前言
  2. 2:安装依赖包
  3. 3:安装与build
  4. 4:使用waf编译与测试

前言

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

安装依赖包

 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/

  • 如果官网打不开请科学上网

  • 如果不会科学上网或者下载速度慢可以使用YouWolf云下载(我搭建的云盘,不限速):

    抱歉,只有登录并在本站任一文章发表评论才能阅读隐藏内容

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

  • 下载后,进行解压

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

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

    image-20200624204636452

使用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 说明安装成功。

    image-20200624205253164

点赞
  1. schwarz说道:
    Google Chrome Windows 10

    谢谢大佬

  2. Fantasy说道:
    Google Chrome Windows 10

    谢谢大佬

  3. 吃草莓的小柯基说道:
    Google Chrome Windows 10

    感谢大佬分享!

发表评论

Title - Artist
0:00