ターミナルを介してNS2を使用すると、セグメントエラー(コアダンプ)メッセージが表示され続けます。
g_0zek@g-0zeK-pc:~$ ns lab1.tcl
g_0zek@g-0zeK-pc:~$ nam lab1.nam
Segmentation fault (core dumped)
それにもかかわらずxgraph
は正常に動作します
tcl
のコードは、大学から与えられたものであり、私の友人の1人が問題なく実行できるため、問題ないようです。何か案は?
ターミナル経由でインストールしないでください。
https://sourceforge.net/projects/nsnam/ からns-allinone-2.35.tar.gzファイルをダウンロードします
次の依存関係をインストールします
Sudo apt-get install tcl8.5-dev tk8.5-dev gcc-4.4 g++-4.4 build-essential autoconf automake Perl xgraph libxt-dev libx11-dev libxmu-dev.
ns-allinone-2.35.tar.gz
を抽出します
ns-allinone-2.35/ns-2.35/linkstate/ls.h
ファイルを開きます。
行番号137に移動します。
変化する
"void eraseAll() {erase(baseMap::begin(), baseMap::end());}"
に
"void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }"
次に、ns-allinone-2.35ディレクトリに移動します
cd home/isysway/ns-allinone-2.35/
./install
少し時間がかかります
ホームディレクトリに来て
isysway@isysway:~$ Sudo gedit .bashrc
テキストファイルが開きます
ファイルの最後に移動します
次の行を追加します
PATH=$PATH:/home/isysway/ns-allinone-2.35/bin:/home/isysway/ns-allinone-2.35/tcl8.5.10/unix:/home/isysway/ns-allinone-2.35/tk8.5.10/unix
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/isysway/ns-allinone-2.35/otcl-1.14/lib:/home/isysway/ns-allinone-2.35/lib
TCL_LIBRARY=$TCL_LIBRARY:/home/isysway/ns-allinone-2.35/tcl8.5.10/library
export PATH
export LD_LIBRARY_PATH
export TCL_LIBRARY
注:私のユーザー名は「isysway」で、これを自分のものに置き換えます
isysway@isysway:~$source .bashrc
それから
isysway@isysway:~$ns
%
モジュロシンボルが来る場合、それを行いました。
NSが正しくインストールされていることを確認してください。どうやって ? namを実行しないTClファイルを1つ東にダウンロードします。 namがわからない場合は、アルゴリズムをグラフィカルに描くためだけのものです。 TCLファイルをダウンロードして実行した後(前にdownload nam freeを言ったか、少なくともあなた自身がその行を無効にするか、TCLファイルにコメントとして書いてください。
14.04でのnamの実行にはいくつかの問題があります。 here からnamをダウンロードし、抽出したファイルを/ usr/local/binにコピーする必要があります。しかし、私はちょうどそれをubuntu 32ビット14.04でテストします。
ところで、NS2が初めての場合は。 erlang NS2メソッドに従う必要はないことをお伝えします。あなたが十分に気に入らない場合は、ここをご覧になることをお勧めします: http://www.linuxquestions.org/questions/linux-newbie-8/ns2-version-2-34-is-too-old -wpan-802-15-4-a-4175499373 /
Ubuntu 14.04パッケージにはバグがあるはずです。おそらく、最善の方法は、パッケージメンテナーが問題を修正するまでソースからインストールすることです。私は先に進んだ バグを報告した 。