2014-01-04 2 views
5

Я пытаюсь установить ns2 в моем ubuntu 13.10 с пакетом ns-allinone-2.35.tar.gz.Ошибка установки ns2 allinone в ubuntu 13.10

сначала я получал 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! 

это пятый день я пытаюсь установить так и не удалось. после раздражения при установке в Windows 7 с Cygwin из-за так много зависимостей, теперь я пытаюсь в ubuntu, но получаю такие ошибки.

как решить это?

ответ

8

я редактировать номер строки 137 ns-2.35/linkstate/ls.h от

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 

или если вы склонны-быстро установлен, то

sudo apt-fast install libperl4-corelibs-perl 

если кто-нибудь может мне помочь с проблемой установки Нама в убунту. это будет полезно.

1

Не нужно редактировать какой-либо исходный код. Просто используйте более старую версию gcc, и все должно работать нормально.

Перед установкой сделать

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

Если вы не имеете эти старые версии, используйте

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

попытался запустить эту команду экспорта перед запуском установочного файла, и у меня все еще есть ошибка. Да, перед командой экспорта я установил gcc-4.4 и g ++ 4.4. Но установка все еще не срабатывала, как указывал OP. Есть ли еще какой-нибудь трюк? –

0

я столкнулся с той же ошибки, как вы делали при установке NS2. Изменение исходного кода помогло!

Сначала выполните следующие действия: 1) Откройте терминал и перейдите в каталог «/home/user_name/Documents/ns-allinone-2.35/ns-2.35/» и запустите (замените имя пользователя своим именем пользователя) :

./validate 

2) Если проблема все еще сохраняется, то скопируйте файл «Nam» из папки «/home/[username]/ns-allinone-2.35/nam-1.15» и вставьте его в папку «/usr/local/bin».

Ссылка: How to install NS2

Кто-то упомянул в комментариях о наличии проблемы с NAM файлами.Попробуйте приведенные здесь шаги. Попробуйте перекрестно проверить другие шаги, если это необходимо.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – ZygD

Смежные вопросы