ns2在ubuntu 13.10中的allinone安装错误

时间:2014-01-04 18:03:41

标签: ns2 ubuntu-13.10

我正在尝试使用ns-allinone-2.35.tar.gz软件包在我的ubuntu 13.10中安装ns2。

起初我得到x11 / *目录未找到错误。在完成一些教程并安装以下工具之后,帮助我克服了这些问题。

sudo apt-fast install tcl8.5-dev tk8.5-dev
sudo apt-fast install build-essential autoconf automake
sudo apt-fast install perl xgraph libxt-dev libx11-dev libxmu-dev
sudo apt-fast install xorg-dev g++ xgraph

然而,现在我收到以下错误:

linkstate/ls.h:137:58: error: ‘erase’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
                                                          ^
linkstate/ls.h:137:58: note: declarations in dependent base ‘std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq> > >’ are not found by unqualified lookup
linkstate/ls.h:137:58: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!

这是我尝试安装和失败的第5天。因为依赖于如此多的依赖,在使用Cygwin在Windows 7中安装时感到烦躁,现在我正在尝试使用ubuntu但是遇到了这样的错误。

如何解决这个问题?

3 个答案:

答案 0 :(得分:10)

我要从

编辑ns-2.35/linkstate/ls.h的第137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

我的ns2安装成功。但是在kali-linux中。在ubuntu中,虽然我正确地设置了路径并且它显示了nam安装成功的消息,但是nam没有工作并且显示它没有安装的错误。

如果你想验证,它会显示一些失败。您可以使用

安装libperl4-corelibs-perl来更正它们
sudo apt-get install libperl4-corelibs-perl

或者如果您安装了apt-fast,那么

sudo apt-fast install libperl4-corelibs-perl

如果有人可以帮助我解决ubuntu中的nam安装问题。它会很有用。

答案 1 :(得分:2)

无需编辑任何源代码。只需使用旧版本的gcc,一切都应该可以正常工作。

安装前,请执行

export CC=gcc-4.4 CXX=g++-4.4

如果您没有这些旧版本,请使用

sudo apt-get install gcc-4.4 g++-4.4

答案 2 :(得分:0)

我遇到了与安装ns2时相同的错误。更改源代码有帮助!

首先使用以下步骤验证: 1)打开一个终端并移动到目录'/home/user_name/Documents/ns-allinone-2.35/ns-2.35/'并运行(用你的用户名替换user_name):

./validate

2)如果问题仍然存在,请复制“/home/[username]/ns-allinone-2.35/nam-1.15”文件夹中的“nam”文件并将其粘贴到“/usr/local/bin”文件夹中。

参考:How to install NS2

有人在评论中提到有关NAM文件的问题。尝试那里给出的步骤:)如果需要,尝试交叉检查其他步骤。