Ubuntu 18.04和16.04 安装 ns-3.29 脚本安装 ns3 和 Pyviz 显示

请确认你的 Ubuntu 系统是 16.04 、 18.04或是Ubuntu 20.04 。其次是,如果你之前换过源文件,那么请确保版本对应,但是最好是去看官网安装指南。

所有的说明和文档可下载

可不看本博文直接去看官网的安装建议<很重要> 光官方安装教程 https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint

一、 环境配置

1.1 Ubuntu 18.04

这是可选择,有的可以不装,已有的是下面脚本文件 environment.sh 中的;也可以不用脚本运行,一行行去复制。

#!/bin/bash
 apt-get install gcc g++ python
apt-get install gcc g++ python python-dev
apt-get install mercurial python-setuptools git
apt-get install qt5-default
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
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get install autoconf cvs bzr unrar
apt-get install gdb valgrind
apt-get install uncrustify
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk
apt-get install python-sphinx dia
apt-get install gsl-bin libgsl2 libgsl-dev
apt-get install flex bison libfl-dev
apt-get install tcpdump
apt-get install sqlite sqlite3 libsqlite3-dev
apt-get install libxml2 libxml2-dev
apt-get install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake
apt-get install libgtk2.0-0 libgtk2.0-dev
apt-get install vtun lxc
apt-get install libboost-signals-dev libboost-filesystem-dev
apt install g++ python3 python3-dev pkg-config sqlite3
apt install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake python3-pip 
apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-gnomedesktop python-rsvg
#python3 -m pip install --user cxxfilt

附: 更换了Ubuntu源的,可能出现部分包找不到,换回18.04 的初始源即可。

1.2 脚本运行

  1. 保存脚本environment.sh,赋予其可执行权限(右键,属性)
  2. 打开终端输入:
    sudo –s
    输入你的密码:
  3. 运行脚本: yes|sh ./environment.sh

1.3 Ubuntu 16.04

  1. 方法一:你可以换成 18.04 的源:
  2. 方法二:把配置环境中把 environment.sh 中:
    (18.04 配置)
    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
    改成(16.04 配置)
    apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython

1.4 Ubuntu 20.04或者未来版本

可以先安装1.1,1.3中的包安装时会自动帮你选择,或者直接看官网上的依赖库https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint

apt install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3

二、 安装NS3 和 Pyviz 工具绑定

官网下载 ns-allinone-3.29.tar.bz2,链接: 最新已到ns3.34,不同版本会有更新带来的问题.解压,转到含./build.py 路径下。由于部分步骤运行时间较长,建议新建一个shell脚本(如 install.sh )安装,也可以直接命令运行。命令如下。

#!/bin/bash  
./build.py  # 注意路径下的隐藏文件 .config 包含了 python路径绑定
cd ns3-29
./waf  configure  # 根据需要是否开启 example和test的编译 --enable-examples --enable-test 
./waf
./test.py -c core

这个版本是 ns-3.29 ,修改成你自己的版本。
For example:

./waf  configure --enable-examples --enable-test

然后赋予运行权限,运行脚本 ./install.sh
pyviz需要的python 绑定就成功了
参考链接
命令执行完,可以直接运行

./waf --run third --vis

pyviz 示例执行显示

在这里插入图片描述

补充

ns3.29 会遇到的问题AttributeError: ‘gi.repository.GooCanvas’ object has no attribute 'LineDash’
参考链接
在这里插入图片描述
将src/visualizer/visualizer/core.py中第528行的

line_dash=GooCanvas.LineDash([10.0, 10.0 ])

更改为

line_dash=GooCanvas.CanvasLineDash.newv([10.0, 10.0 ])
  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值