** 環境構築 ** Ns2のインストール ** ダウンロード まず、&color(red){ns-allinone-x.xx.tar.gz};をダウンロード。~ 例えば以下のようなページからダウンロード可能。~ - [[http://www.isi.edu/nsnam/]] - [[http://www.nemoto.ecei.tohoku.ac.jp/~tsuno/hiki.cgi?ns-2%A4%CE%A4%E2%A4%CE%A4%B9%A4%B4%A4%AF%B4%F0%CB%DC%C5%AA%A4%CA%BB%C8%A4%A4%CA%FD]] ** インストール 準備するもの(今回は以下の通り)~ これらのバージョンの組み合わせによってはうまくいかないことが&color(red){多々};ある。 - ns-allinone-2.31.tar.gz - gcc-4.2.1 - bash-3.1 - um-olsr-0.8.8.tgz [[うまくいかない場合の解決例。]] + ns-allinone-2.31.tar.gzを解凍、インストール #tar xvzf ns-allinone-2.31.tar.gz #cd ns-allinlne-2.31 #./install + うまくインストールできているか確認 #cd ns-2.31 #./validate + 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 + 再びmake #./configure #make distclean #./configure #make + 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 &color(red){※olsrのパッチは今回のバージョンだとns-2.29向けに作成されている};~ &color(red){そのため、使用するバージョンに合わせて書き換える必要がある};~ &color(red){また、追加する行番号もバージョンによって変わってくるので適宜書き換える}; ** うまくインストールができない場合 *** nsのバージョンが低い場合に起きる問題 &color(red){olsrのパッチがうまくあたらない};~ &color(blue){解決策};|~ - nsのバージョンを上げる - 頑張ってパッチを書き換える(そこまで量は多くない) *** bashのバージョンの違いによって起こる問題 &color(red){バージョンが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. &color(blue){解決策};~ 次のファイルを編集する 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のバージョンの違いによって起こる問題 &color(red){gccのバージョンが新しいと(今回確認したのは4.1以降)"extra qualification"というエラーが出る。};~ &color(red){参照:};[[http://www.fourmilab.ch/fourmilog/archives/2006-05/000699.html]]~ ちなみに、ver4.0は未確認だが、3.4以前のバージョンならこのエラーは出ない。~ &color(blue){解決策};~ - gccのバージョンを上げる。 - nsのバージョンを下げる。 - gccのバージョンを下げて新しいnsをインストールしようとするとextra qualificationは出ないが、別のエラーが出てインストール不可