ubuntu 13.10 中的 ns2 allinone 安装错误

Posted

技术标签:

【中文标题】ubuntu 13.10 中的 ns2 allinone 安装错误【英文标题】:ns2 allinone installation error in ubuntu 13.10 【发布时间】:2014-01-22 08:41:02 【问题描述】:

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

起初我得到 x11/* directory not found 错误。在学习了一些教程并安装了以下工具后,帮助我克服了这些问题。

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 中尝试但遇到了这样的错误。

如何解决?

【问题讨论】:

【参考方案1】:

我在安装 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

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

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。【参考方案2】:

无需编辑任何源代码。只需使用旧版本的 gcc,一切都会正常。

安装前,做

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

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

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

【讨论】:

在启动安装文件之前尝试运行此导出命令,但仍然出现错误。是的,我在导出命令之前安装了 gcc-4.4 和 g++4.4。但是正如OP所说,安装仍然失败。这有什么其他技巧吗?【参考方案3】:

我要编辑 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 安装问题。会很有用的。

【讨论】:

以上是关于ubuntu 13.10 中的 ns2 allinone 安装错误的主要内容,如果未能解决你的问题,请参考以下文章

升级到 Ubuntu 13.10 后 Eclipse 菜单不显示

如何在 Ubuntu 13.10 上安装 PHP PECL 扩展“SQLite”

在ubuntu上装了ns2后还能装ns3吗

ubuntu13.10升级到ubuntu14.04

如何在 Ubuntu 13.10 上安装 Graphite?

Ubuntu 服务器 13.10 上的 ZPanel