web-dev-qa-db-ja.com

Linux Mandrivaへのネットワークシミュレーター(NS-2、allinone)のインストール

ネットワークシミュレータNS-2ここからダウンロードしました-

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

ビルドns via 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 in Linux Mandrivaを適切に構築する方法は?


[〜#〜] gcc [〜#〜]をバージョンGCC-4.7.2に更新してから、ns-2.34をインストールしました。以前にソースコードにいくつかの変更を加えました-

in mac/mac-802_Ext.h(またはin mac-802_11Ext.h for ns 2.35)、65行目-追加

# include "cstddef";

また、ファイル内linkstate/ls.h 137行目でreplace-

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

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

簡単なテストをしてみましょう(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/faqtroubleshootinginstallation_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
user182411

ログからは、ローカルホストでのみディスプレイを実行しているように見えます。私の提案は、次のエクスポートコマンドを使用することです。

% export DISPLAY=:0.0

もう一度実行してみてください。 Ubuntu 12.10システムでこれと同じコマンドを使用すると、機能します。

0
Vivek

インストールについては、ビルドに必要なツールがすべてインストールされていることを確認してください。 Ubuntu 10.04でも同じ問題が発生し、 this が見つかりました。

私がインストールしたツール:

  • autoconf
  • オートメイク
  • gcc
  • g ++
  • ビルドエッセンシャル
  • libxmu-dev
  • libtool
  • libxt-dev

Apt-get installを使用してそれらをすべてインストールしましたが、機能しました。

幸運を。

0
Keoma