メインコンテンツへスキップ

Ubuntu-20.04にns3.38をインストール(Python bindingsとPyViz visualizerも)

·841 文字·2 分
プログラミング Ns3 Ns3-38 Python-Bindings Pyviz Vizualizer インストール
やつはし
著者
やつはし
ネットワークとセキュリティを勉強する理系大学院生です。

あいさつ
#

ネットワークの勉強用にns3をダウンロードしました。ns3-38の情報が少なく、公式のinstallation guideを参考にしましたが、設定に少し困ったのでここで一応紹介。

公式のドキュメント(https://www.nsnam.org/documentation/)

インストール方法(ns3-38)
#

ns3-38のインストール
#

Virtual BoxにUbuntu-20.04をダウンロードした後を想定しています

(1)一応、パッケージ一覧を更新(雰囲気)

sudo apt update

(2)workplace ディレクトリを作る&移動(作らなくても良いがドキュメントでは作ってることが多い)

mkdir workplace
cd workplace

(3)マニュアル通りにRequirementsをダウンロード

sudo apt install g++ python3 cmake ninja-build git

(4)gitからns3をダウンロード

git clone https://gitlab.com/nsnam/ns-3-dev.git

(5)ディレクトリを移動

cd ns-3-dev

(6)マニュアル通りにRecommendedをダウンロード

sudo apt install ccache clang-format clang-tidy gdb valgrind

つづけて、Python bindingsのダウンロード
#

(7)ubuntu用のpipをダウンロード(ubuntuは独自のpipがある為、省略すると上手くいかない可能性あり)

sudo apt install python3-pip

(8)Python bindingsの設定(warningでpathが通ってないと言われるが無視しても大丈夫だった。もちろん通してもいいと思う。)

python3 -m pip install --user cppyy

つづけて、PyViz visualizerの設定
#

(9)必要なパッケージをダウンロード

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

最後にビルド
#

(10)ビルドの前にドキュメントのOptionalの所をダウンロード(必須では無いが後からエラーが出るとめんどいからやっておくほうが良い気がする)

超長いのでコピペ推奨。もちろんドキュメントのOptionalを見ながら必要な物だけダウンロードしても良い。

sudo apt install tcpdump wireshark sqlite sqlite3 libsqlite3-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools openmpi-bin openmpi-common openmpi-doc libopenmpi-dev doxygen graphviz imagemagick python3-sphinx dia imagemagick texlive dvipng latexmk texlive-extra-utils texlive-latex-extra texlive-font-utils libeigen3-dev gsl-bin libgsl-dev libgslcblas0 libxml2 libxml2-dev libgtk-3-dev lxc-utils lxc-templates vtun uml-utilities ebtables bridge-utils libxml2 libxml2-dev libboost-all-dev

(11)最後にビルド

./ns3 configure --enable-examples --enable-tests --enable-python-bindings --enable-mpi

自分は–enable-python-bindingsが必要だと気づかずに苦労した。

./ns3 build