1. 程式人生 > >NS3環境搭建常見問題

NS3環境搭建常見問題

ns3安裝常見問題

./waf configure -d debug --enable-sudo --enable-examples --enable-tests 版本17以後yum都遷移到在dnf下,更新軟體源需要更新源, 1. 安裝外掛 我們安裝一個外掛,讓系統自動選擇最快的軟體源。   #yum install yum-fastestmirror 這個外掛在以前用yum命令的時候是非常靠譜的,但是fedora22開始yum命令全部重定向為dnf命令了,所以要想在22和之後的版本中使用, 需要在dnf配置檔案 /etc/dnf/dnf.conf 後面加一行 fastestmirror=true 。 2.手動新增源,可以檢視網上教程。

使能相關的功能配置 ./waf configure -d debug --enable-sudo --enable-examples --enable-tests
編譯3.2.6時出現錯誤 Command ['/usr/bin/python', 'waf', 'build'] exited with code 1 解決辦法:Simply move the "fd-netdevice" folder out of "ns-3-dev/src" folder. This will do.T.( 方法不可行
) 解決辦法:似乎是g++編譯器自身的問題,解決辦法是利用swap:  
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
編譯完成後刪除:  
sudo swapoff /swapfile
sudo rm /swapfile (此方法成功解決)
但是在編譯3.1.3時就可以使用了 但是也會出現click 與openflow編譯不通過,解決辦法如下: ./build.py --enable-examples --enable-tests後出現如下提示:(click和openflow模組未安裝)
Modules built: aodv                               applications        bridge                    config-store                   core                      csma                      csma-layout                   dsdv                     emu                       ......... wimax                    
Modules not built: click                     openflow
解決方法:(通常這兩個模組是用不著的) (1)click模組 click是一個構建可配置路由器的軟體架構,通過使用元素element(即包處理單元)的不同組合,click路由器能夠執行特定功能,這種靈活性提供了測試和實驗不同協議的優良平臺。 *下載click(http://read.cs.ucla.edu/click/download)這裡裝2.0版本在make時遇到問題,直接下載1.8.0版本就可以了,通過 #wget   http://read.cs.ucla.edu/click/click-2.0.1.tar.gz
。 *配置編譯click ./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi ./make   (make1.8.0版本時出錯,換了最新版本2.0.1就可以編譯通過了) *重新配置和構建ns3 ./waf configure --enable-examples --enable-tests --with-nsclick=/root/tarballs/click/click-2.0.1(換成自己的路徑) 如果click安裝在ns-3-allinone資料夾中,即ns-3資料夾的上層資料夾中,"--with-nsclick=click原始碼路徑"不需要,ns3構建器能夠自動找到click原始碼 ./waf *測試click ./waf --run nsclick-simple-lan 將得到兩個.pcap跟蹤結果檔案:nsclick-simple-lan-0-0.pcap和nsclick-simple-lan-0-1.pcap
(2)openflow openflow交換廣泛用於科研中,通過openflow API可以對OpenFlow交換進行配置。openflow交換擁有針對服務質量的多協議標籤交換(MPLS)擴充套件和支援service-level-agreement。通過使用openflow交換,ns3能夠精確模擬多種不同的交換。 *下載openflow hg clone http://code.nsnam.org/jpelkey3/openflow *配置和構建openflow(在openflow資料夾下執行) ./waf configure ./waf build 此時生成libopenflow.a庫檔案 *連結OpenFlow模組到ns3(在ns3的原始碼資料夾下執行,如ns-3-dev) ./waf configure --enable-examples --enable-tests --with-openflow=openflow原始碼路徑(換成自己的路徑) ./waf build (構建ns3並激活ns3的openflow模組) *驗證openflow模組 ./test.py --suite=openflow
所有的都開啟的命令 ./waf configure --enable-examples --enable-sudo --enable-mpi --enable-tests --with-openflow=/root/tarballs/openflow/openflow --with-nsclick=/root/tarballs/click-2.0.1
最後還要安裝python-pygccxml,執行sudo apt-get install ..就可以。 ubuntu下進入root的圖形介面命令:
sudo nautilus