Установка сетевого симулятора (NS-2, allinone) в Linux Mandriva

6215

Я скачал сетевой симулятор NS-2 отсюда -

http://www.isi.edu/nsnam/ns/ns-build.html#allinone

Построить нс через GCC 4.2.2 -

tar-xzf ns-allinone-2.35.tar.gz cd ns-allinone-2.35 ./install 

Получить сообщение об ошибке -

make: *** [tk3d.o] Error 1 tk8.5.10 make failed! Exiting ... For problem with Tcl / Tk see http://www.scriptics.com 

Я перехожу по ссылке - Scriptics.com - там есть сообщение - «Архив сценариев находится на реконструкции. Пожалуйста, возвращайтесь скорее».

Тогда я пытаюсь -

cd ns-allinone-2.35/ && export CC=gcc-4.2 CXX=g++-4.2 && ./install 

Получите следующее сообщение -

================================ * Build tcl8.5.10 ================================ checking whether to use symlinks for manpages... no checking whether to compress the manpages... no checking whether to add a package name suffix for the manpages... no checking for gcc... gcc-4.2 checking for C compiler default output file name... configure: error: C compiler cannot create executables See 'config.log' for more details tcl8.5.10 configuration failed! Exiting... Tcl is not part of the ns project. Please see www.Screeptics.com to see if they have a fix for your platform. 

Как правильно собрать NS-2 в Linux Mandriva ?


Я обновил GCC до версии GCC-4.7.2, затем установил ns-2.34 . Ранее были сделаны некоторые изменения в исходном коде -

в mac / mac-802_Ext.h (или в mac-802_11Ext.h для ns 2.35 ), строка 65 - добавить

# include "cstddef"; 

также в файле linkstate / ls.h в строке 137 замените -

void eraseAll () 

в

void eraseAll () 

Теперь давайте возьмем простой тест ( ns-simple.tcl ) -

#Create a simulator object set ns [new Simulator]  #Define different colors for data flows (for NAM) $ns color 1 Blue $ns color 2 Red  #Open the NAM trace file set nf [open out.nam w] $ns namtrace-all $nf  #Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the NAM trace file close $nf #Execute NAM on the trace file exec nam out.nam & exit 0 }  #Create four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node]  #Create links between the nodes $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20ms DropTail  #Set Queue Size of link (n2-n3) to 10 $ns queue-limit $n2 $n3 10  #Give node position (for NAM) $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right  #Monitor the queue for link (n2-n3). (for NAM) $ns duplex-link-op $n2 $n3 queuePos 0.5   #Setup a TCP connection set tcp [new Agent/TCP] $tcp set class_ 2 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1  #Setup a FTP over TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP   #Setup a UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null 

Выполнить (в соответствии с http://networksimulator2.files.wordpress.com/2010/10/faqtrou устранение неисправностейinstallation_problems.pdf ) -

export DISPLAY localhost:6000 ns ns-simple.tcl 

Выход -

CBR packet size = 1000 CBR interval = 0.0080000000000000002 [root@localhost ...]# _X11TransSocketINETConnect() can't get address for http://localhost:12000: Name or service not known nam: couldn't connect to display "http://localhost:6000" 

Что бы это могло значить? Как получить изображение?

Следующий. Если я указываю IP удаленного сервера, на котором я установил ns-2, я получаю следующую ошибку:

[root@localhost ...]# export DISPLAY=..ip_of_remote_server_:0.0 [root@localhost ...]# ns ns-simple.tcl CBR packet size = 1000 CBR interval = 0.0080000000000000002 [root@localhost ...]# Xlib: connection to "ip_of_remote_server_:0.0" refused by server Xlib: No protocol specified  nam: couldn't connect to display "ip_of_remote_server_:0.0" 
4
Здравствуйте, ivanov-void, это два отдельных вопроса? Первая часть о компиляции ns2, а вторая часть, кажется, о его использовании, что предполагает, что он работает. Если это два вопроса, вы можете их разделить, чтобы они были здесь двумя. Если нет, можете ли вы объяснить, как они связаны? Paul 11 лет назад 0
Привет, Пол! Спасибо за ответ. Я дал полный отчет - от сборки * ns2 * до выполнения простого теста - я не смог найти полную документацию по установке * ns2 * в * Linux Mandriva *. Возможно установка не правильная (хотя тесты - *. / Validate * - успешны). 11 лет назад 0
В сети много вопросов на эту тему, но ответов практически нет. 11 лет назад 0
Ах я вижу. Это опечатка: `export $ DISPLAY localhost: 6000`? Вы не ставите `$` при назначении переменных bash, и у вас есть сервер X11 с идентификатором `6000`? Paul 11 лет назад 1
Да, это опечатка. Я исправил, спасибо. Порт `6000` - это всего лишь эксперимент. 11 лет назад 0
Итак, у ip_of_remote_server запущен X-сервер и настроен ли он на прием подключений с компьютера, с которого вы запускаете ns в последнем разделе? Paul 11 лет назад 0
Здравствуйте, Иванов, пожалуйста, не пересекайте посты между сайтами. Paul 11 лет назад 0
Привет, Пол. Хорошо, я сформулирую ответ. 11 лет назад 0
Итак, здесь сложная ситуация. Мы не разрешаем перекрестную публикацию, и теперь у нас проблема в том, что ваш вопрос и ответ на него разделены на два разных сайта. Именно поэтому мы не рекомендуем размещать на двух сайтах одновременно. Я оставил здесь ваш ответ, но не могли бы вы опубликовать свой ответ на Unix.SE, где он находится? Спасибо! slhck 11 лет назад 0
Привет, slhck ♦! Хорошо, я отправлю свой ответ там. Спасибо! 11 лет назад 0

2 ответа на вопрос

0
Vivek

Из вашего журнала выглядит так, будто вы запускаете отображение только на локальном хосте. Я предлагаю использовать следующую команду экспорта:

% export DISPLAY=:0.0 

и попробуйте запустить его снова. Я использую эту же команду в моей системе Ubuntu 12.10, и она работает.

0
Keoma

About the installation, make sure that you've installed all the necessary tools for building. I had the same issue with an Ubuntu 10.04 and I found this.

The tools I installed:

  • autoconf
  • automake
  • gcc
  • g++
  • build-essential
  • libxmu-dev
  • libtool
  • libxt-dev

I installed them all using apt-get install and it worked.

Good luck.