首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu13.10中的ns2 allinone安装错误

Ubuntu13.10中的ns2 allinone安装错误
EN

Stack Overflow用户
提问于 2014-01-05 02:03:41
回答 3查看 12.1K关注 0票数 5

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

一开始我得到的是x11/*目录没有找到错误。在学习了一些教程并安装了以下工具后,帮助我克服了这些问题。

代码语言:javascript
复制
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

但是,现在我得到了以下错误:

代码语言:javascript
复制
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!

这是我尝试安装的第五天,但失败了。在使用Cygwin在windows7中安装时,由于太多的依赖项而感到恼火,现在我尝试在ubuntu中安装,但得到了这样的错误。

如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-13 03:06:51

我必须编辑ns-2.35/linkstate/ls.h的第137行

代码语言:javascript
复制
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

代码语言:javascript
复制
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

我的ns2安装成功了。然而,在kali-linux内部。在ubuntu中,尽管我正确地设置了路径,并且显示了有关nam已成功安装的消息,但nam无法工作,并显示未安装的错误。

如果你想验证,它会显示一些失败。您可以通过使用以下命令安装libperl4-corelibs-perl来更正它们

代码语言:javascript
复制
sudo apt-get install libperl4-corelibs-perl

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

代码语言:javascript
复制
sudo apt-fast install libperl4-corelibs-perl

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

票数 10
EN

Stack Overflow用户

发布于 2014-02-20 12:44:28

不需要编辑任何源代码。只需使用旧版本的“gcc”,一切都会正常工作。

在安装之前,请执行以下操作

代码语言:javascript
复制
export CC=gcc-4.4 CXX=g++-4.4

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

代码语言:javascript
复制
sudo apt-get install gcc-4.4 g++-4.4
票数 2
EN

Stack Overflow用户

发布于 2015-04-11 04:20:29

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

首先通过以下步骤进行验证: 1)打开终端,进入'/home/user_name/Documents/ns-allinone-2.35/ns-2.35/‘目录,运行(用您的用户名替换user_name ):

代码语言:javascript
复制
./validate

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

参考:How to install NS2

有人在评论中提到了关于NAM文件的问题。尝试此处给出的步骤:)如果需要,也可以尝试交叉检查其他步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20924638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档