ns-2を使えるようにする
ネットワーク趣味れーたーシミュレーターのns-2を使いたいので、インストールしたときのメモ。
まず、必要な物がすべて入ったall-in-oneの圧縮ファイルをダウンロード。
nsnam - Browse /allinone/ns-allinone-2.35 at SourceForge.net
tarを展開したら、
Network Simulator 2 (ns-2) のインストール|monoのブログ
を参考に、必要なライブラリをインストール
$ sudo aptitude install libx11-dev xorg-dev
次の3ヶ所を修正
allinone-2.35/ns-2.35/linkstate/ls.h 137c137 < void eraseAll() { erase(baseMap::begin(), baseMap::end()); } --- > void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
none-2.35/ns-2.35/bin/raw2gp 24,25c24,27 < require 'getopts.pl'; < &Getopts('ags:m:ql') || usage; --- > #require 'getopts.pl'; > use Getopt::Std; > #&Getopts('ags:m:ql') || usage; > getopts('ags:m:ql') || usage;
none-2.35/ns-2.35/bin/raw2xg 37,38c37,40 < require 'getopts.pl'; < &Getopts('acefgds:m:n:qrplvt:xy') || usage; --- > #require 'getopts.pl'; > use Getopt::Std; > #&Getopts('acefgds:m:n:qrplvt:xy') || usage; > getopts('acefgds:m:n:qrplvt:xy') || usage;
このgetopts.plにはしばらく悩まされた。validateでCan't locate getopts.pl in @INCで悩んでる人はおそらくこれが原因です。
ビルド
$ cd ns-allinone-2.35 $ ./install
動作確認
$ cd ns-allinone-2.35/ns-2.35 $ ./validate