NS3|NS3 安装 (ubuntu 20.04)

一、安装依赖库

  • 请以官网为准:https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint
  • 有几个地方需要自己改一下,我在下面标了
  • 建议全程使用root用户进行安装,否则自行添加 sudo
  1. 安装C++和python3(其实ubuntu 20.04已经内置了)
apt-get install g++ python3

  1. 如果你要安装的版本是3.30或3.31或ns-3-dev,你还需要安装(推荐安装)
apt-get install python3-dev pkg-config sqlite3

  1. 对Python(开发)的最低要求:为了使用ns-3-allinone存储库(从Git克隆),需要其他软件包才能获取并成功安装pybindgen和netanim。
apt-get install python3-setuptools git

  1. qt5
apt-get install qt5-default mercurial

  1. 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

  1. 基于MPI的分布式仿真的依赖
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev

  1. bake构建工具的依赖:
apt-get install autoconf cvs bzr unrar

  1. 调试
apt-get install gdb valgrind

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

  1. Doxygen和相关的在线文档:
apt-get install doxygen graphviz imagemagick apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk

  1. ns-3手册和教程使用Sphinx的reStructuredText(doc / tutorial,doc / manual,doc / models)编写,并且图形通常以dia(还需要上面的texlive软件包)编写:
apt-get install python3-sphinx dia

  1. GNU科学库(GSL)支持更精确的802.11b WiFi错误模型(OFDM不需要):
apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0

  1. 读取pcap数据包跟踪
apt-get install tcpdump

  1. 数据库对统计框架的支持
apt-get install sqlite sqlite3 libsqlite3-dev

  1. 配置存储的基于Xml的版本(需要libxml2> =版本2.7)
apt-get install libxml2 libxml2-dev

  1. 支持生成修改后的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

  1. 基于GTK的配置系统
apt-get install libgtk-3-dev

  1. 实验虚拟机和ns-3
apt-get install vtun lxc uml-utilities

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

二、安装 NS3
  1. 创建Tarballs目录
mkdir tarballs

  1. 进入目录
cd tarballs

  1. 下载压缩包
wget http://www.nsnam.org/release/ns-allinone-3.31.tar.bz2

  1. 解压
tar xjf ns-allinone-3.31.tar.bz2

三、编译 NS3
  1. 编译文件(设置允许测试)
sudo ./build.py --enable-examples --enable-tests

四、测试
1. 清除 build 目录
cd ns-3.31 ./waf distclean

2. 打开 debug 并开启例子及帮助
./waf configure --build-profile=debug --enable-examples --enable-tests ./waf build

3. 可通过运行./test.py -c core来进行测试
./test.py -c core

4. 运行一个经典的脚本
./waf --run hello-simulator

六、ERROR
1. 若看不到输出,则按照如下配置
./waf configure --build-profile=debug --enable-examples --enable-tests

2. 如果出现错误
Build failed -> task failed (exit status 1):

解决办法:将虚拟机内存调大,即可;
【NS3|NS3 安装 (ubuntu 20.04)】参考:https://youwolf.cn/?p=514

    推荐阅读