Ubuntu 16.04 LTS で ns3.29 をインストールする
追記
Ubuntu 18.04へのns-3.30のインストール方法をQiitaに書きました.
ns3.29が2018年9月4日にリリースされました。 ns3は1年に1回というペースでバージョンアップを繰り返しています。 早速自分もインストールしてみました。 以下では全部のせ(ns-allinone-3.29)のインストールをします。
エラーを被りながら、右往左往して得た最短ルートをうろおぼえで書いています。 間違っていたらコメントで指摘してくださると助かります。
環境
- Ubuntu 16.04 LTS
プレインストール
ns3のインストールの前に、必要なパッケージをaptコマンドでインストールしていきます。
$ sudo apt update $ sudo apt upgrade
とりあえず、Installation - Nsnamに従って必要なパッケージをすべて入れます。 16.04でない環境の方は若干違うので、詳細はリンクを参照してください。
sudo apt install gcc g++ python python-dev sudo apt install mercurial python-setuptools git sudo apt install qt5-default sudo apt 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 sudo apt install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev sudo apt install autoconf cvs bzr unrar sudo apt install gdb valgrind sudo apt install uncrustify sudo apt install doxygen graphviz imagemagick sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng sudo apt install python-sphinx dia sudo apt install gsl-bin libgsl2 libgsl-dev sudo apt install flex bison libfl-dev sudo apt install tcpdump sudo apt install sqlite sqlite3 libsqlite3-dev sudo apt install libxml2 libxml2-dev sudo apt install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake pip install cxxfilt sudo apt install libgtk2.0-0 libgtk2.0-dev sudo apt install vtun lxc sudo apt install libboost-signals-dev libboost-filesystem-dev
ns3のダウンロード
以下はほぼGetting Started — Tutorialの翻訳みたいなもの。
ホームディレクトリを汚したくない方はワーキングディレクトリを作成してそちらにインストールしてください。 ns3のダウンロードにはいくつか方法がありますが、ここではbakeを使います。 別の方法としてtarballをダウンロードしてからインストールする方法もあるのですが、私の環境ではエラーが出てしまいました。
$ cd $ mkdir workspace $ cd workspace $ hg clone http://code.nsnam.org/bake
bakeというディレクトリが作成されます。
$ ls bake bake bakeconf.xml doc generate-binary.py TODO bake.py examples test
一時的にbakeディレクトリへのプログラムパスを通します。
cd bake export BAKE_HOME=`pwd` export PATH=$PATH:$BAKE_HOME:$BAKE_HOME/build/bin export PYTHONPATH=$PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/lib
bakeを用いてns3をダウンロードします。
ns-allinone-3.29の部分のバージョン番号を直せば特定のバージョンを入れられます。
また、必要最低限のns3パッケージだけでいい場合は-e ns-3.29
として下さい。
$ ./bake.py configure -e ns-allinone-3.29 $ ./bake.py check $ ./bake.py download
sourceというディレクトリが新しくできます。
$ ls source BRITE netanim-3.108 openflow-ns-3.25 pygccxml-1.9.1 castxml ns-allinone-3.29 pybindgen v1.9.1.tar.gz click-ns-3.25 nsc-0.5.3 pygccxml
ns3のビルド
ns3のビルドをします。
$ ./bake.py build
ns3のテスト
ns3に同封されているテストコードを実行して正常に動くか確認します。
$ cd ns-allinone-3.29 $ ./test.py
30分くらいかかりました。
最後にns3のサンプルスクリプトを動かしてみます。
$ ./waf --run hello-simulator
Hello Simulator
Hello Simulatorと表示されれば無事ns3.29のインストールは完了です。 お疲れ様でした。
参考
ネットワークシミュレータ ns-3.28 を Ubuntu 16.04 にインストール - ハードでもソフトウェア http://orsnken.hatenablog.com/
※記事のURLを貼るとバグるのでサイトトップページのURLで失礼します。