LoginSignup
4
4

More than 5 years have passed since last update.

ネットワークシミュレータns-2をFreeBSD8.2とかUbuntu11.10とかで動かす

Last updated at Posted at 2015-02-28

ネットワークシミュレータのデファクト「ns-2」のインストール時のトラブル解決方法をご紹介.手順書通りにやってもエラーが出ますので,そんな時にはこちらを参考にしていただければと思います.

気が向いたら,Agentの作り方やNodeの作り方などオリジナルプロトコル作成時のコツを書きますね.

FreeBSD 8.2 (g++ 4.2.1)で,ns-2.34 かns-2.35を動かす場合

  • コンパイル時にエラー発生

aomdv/aomdv.cc: In member function 'void AOMDV::recvReply(Packet*)':
aomdv/aomdv.cc:1197: error: 'AF_INET' was not declared in this scope
gmake: *** [aomdv/aomdv.o] Error 1
Ns make failed!
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

「AF_INETの定義がない」と怒られますので,定義してあるヘッダ(sys/socket.h)をコンパイルエラーとなったソースファイル(aomdv/aomdv.cc)に追加

ns-2.35/aomdv/aomdv.cc
//#include <ip.h>
#include <sys/socket.h>   ←これを追記
#include <aomdv/aomdv.h>

で,再コンパイル.

> cd ns-2.35; gmake

FreeBSDのmakeは標準ではgnuのライブラリを使わないヤツなのでエラーが起きます.
gmakeとして明示的にgnuを使うようにしてあげましょう.

モバイルやらマルチキャストやらのモジュールでテストエラーが出ますが,当該モジュールを使わない方は無視しても問題ありません.

ちなみに,インストール成功後,画面にも表示されますが,環境変数の設定が必要となります.私の場合は,こんな感じ.

.cshrc
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local\
/bin $HOME/bin /usr/home/osada/ns-allinone-2.35/bin /usr/home/osada/ns-allinone\
-2.35/tcl8.5.10/unix /usr/home/osada/ns-allinone-2.35/tk8.5.10/unix)
setenv LD_LIBRARY /usr/home/osada/ns-allinone-2.35/otcl-1.14:/usr/home/osada/ns\
-allinone-2.35/lib
setenv TCL_LIBRARY /usr/home/osada/ns-allinone-2.35/tcl8.5.10/library

Ubuntu11.10の場合

  • tkインストール時のエラーの対応

> sudo apt-get update
> sudo apt-get install autoconf automake libxmu-dev build-essential
> tar zxvf ns-allinone-2.35.tar.gz
> cd ns-allinone-2.35
> ./install

x関係のライブラリが標準では入っていないようです.上記コマンドで,必要なライブラリをインストールします.

共通

  • 中間クラスを修正するときの注意 Agent/TCP/NewrenoやAgent/TCP/RenoなどのスーパークラスであるAgent/TCPを修正する場合,修正するクラス以外に,サブクラスについてもそれぞれ再コンパイルすること. そうしなければ,オブジェクト間リンクがうまく機能せず,実行時エラーになるか,うまく動作しなくなりますので注意.

予告

ns-3も,色々エラーが出るので,それもそのうち書きます.そのうち.

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4