nam ubuntu 14.04 中出现分段错误(核心转储)

nam ubuntu 14.04 中出现分段错误(核心转储)

当我通过终端使用 NS2 时,我不断收到段错误(核心转储)消息。

g_0zek@g-0zeK-pc:~$ ns lab1.tcl
g_0zek@g-0zeK-pc:~$ nam lab1.nam
Segmentation fault (core dumped)

尽管如此xgraph

代码看起来tcl不错,因为它是大学提供的,我的一个朋友运行得很好。有什么想法吗?

答案1

不要通过终端安装。

从以下位置下载 ns-allinone-2.35.tar.gz 文件https://sourceforge.net/projects/nsnam/

安装以下依赖项

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

%

如果出现模数符号,则表示您成功了。

答案2

确保你正确安装了 NS。如何安装?首先下载一个不运行 nam 的 TCl 文件。如果你不知道 nam 只是为了以图形方式描述算法。下载并运行 TCL 文件后(正如我所说,免费下载 nam,或者至少你自己禁用该行或将它们作为 TCL 文件中的注释)。

在 14.04 上运行 nam 时出现一些问题。您应该从以下位置下载 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/

答案3

我认为 Ubuntu 14.04 软件包中一定存在错误。最好的办法可能是从源代码安装,直到软件包维护人员修复该问题。我已经开始报告了错误

相关内容