環境構築


Ns2のインストール

ダウンロード

まず、ns-allinone-x.xx.tar.gz;をダウンロード。
例えば以下のようなページからダウンロード可能。

インストール

準備するもの(今回は以下の通り)
これらのバージョンの組み合わせによってはうまくいかないことが多々;ある。
  • ns-allinone-2.31.tar.gz
  • gcc-4.2.1
  • bash-3.1
  • um-olsr-0.8.8.tgz


  1. ns-allinone-2.31.tar.gzを解凍、インストール
#tar xvzf ns-allinone-2.31.tar.gz
#cd ns-allinlne-2.31
#./install
  1. うまくインストールできているか確認
#cd ns-2.31
#./validate
  1. olsrのパッチを当てる
#cd ns-allinone-2.31/ns-2.31
#tar xvzf um-olsr-0.8.8.tgz
#ln -s ./um-olsr-0.8.8 ./olsr
#patch -p1 < olsr/um-olsr_ns-2.31_v0.8.8.patch
  1. 再びmake
#./configure
#make distclean
#./configure
#make
  1. PATHを通す
#PATH=$PATH:/...../ns-allinone-2.xx/ns-2.xx:
/...../ns-allinone-2.xx/tcl8.y.y/unix:
/...../ns-allinone-2.xx/tk8.z.z/unix:
/...../ns-allinone-2.xx/nam-1.tt



※olsrのパッチは今回のバージョンだとns-2.29向けに作成されている;
そのため、使用するバージョンに合わせて書き換える必要がある;
また、追加する行番号もバージョンによって変わってくるので適宜書き換える;

うまくインストールができない場合


nsのバージョンが低い場合に起きる問題

olsrのパッチがうまくあたらない;
解決策;
  • nsのバージョンを上げる
  • 頑張ってパッチを書き換える(そこまで量は多くない)

bashのバージョンの違いによって起こる問題

バージョンが3.0以下なら問題ないが、3.1以降だと./installを実行したときに次のようなエラーが出る;
 checking system version (for dynamic loading)...
 ./configure: line 7624: syntax error near unexpected token `)'
 ./configure: line 7624: ` OSF*)'
 tcl8.3.2 configuration failed! Exiting ...
 Tcl is not part of the ns project. Please see www.Scriptics.com
 to see if they have a fix for your platform.

解決策;
次のファイルを編集する
ns-2.29/tcl8.4.11/unix/tcl.m4 
ns-2.29/tk8.4.11/unix/tcl.m4
ns-2.29/otcl-1.11/configure.in
各ファイルの
system=MP-RAS-`awk '{print $3}' /etc/.relid'`
と言う行を
system=MP-RAS-`awk '{print $3}' /etc/.relid`
と書き換えるだけ。

gccのバージョンの違いによって起こる問題

gccのバージョンが新しいと(今回確認したのは4.1以降)"extra qualification"というエラーが出る。;
参照:;http://www.fourmilab.ch/fourmilog/archives/2006-05/000699.html
ちなみに、ver4.0は未確認だが、3.4以前のバージョンならこのエラーは出ない。~
解決策;
  • gccのバージョンを上げる。
  • nsのバージョンを下げる。
  • gccのバージョンを下げて新しいnsをインストールしようとするとextra qualificationは出ないが、別のエラーが出てインストール不可
最終更新:2008年01月25日 13:22