1. 程式人生 > >Ubuntu18.04上安裝NS-3

Ubuntu18.04上安裝NS-3

[toc] 我自己前後安裝過好幾次NS3了,網上其他相關的部落格質量都不是很好,因此自己總結了一個ns3的安裝過程。 首先先去網址https://www.nsnam.org/releases/下載自己想要安裝的NS-3的原始碼。 然後使用如下命令解壓: `tar xjf ns-allinone-3.26.tar.bz2` ![](https://img2020.cnblogs.com/blog/1546042/202011/1546042-20201104214053980-1478198818.png) #### 第一步:處理gcc/g++版本 ns3的安裝需要使用gcc和g++編譯,但是Ubuntu18.04系統預設的gcc/g++版本一般在7.X多,而ns3的編譯不支援太高版本的gcc/g++,如果不將gcc/g++降級的話,在編譯安裝ns3時會失敗。 可以先通過命令`gcc -v`檢視一下系統中當前gcc/g++版本。 如果確實較高則執行如下命令降低gcc和g++版本: ```bash #安裝低版本gcc和g++ sudo apt-get install gcc-5 sudo apt-get install g++-5 #進入/usr/bin目錄 cd /usr/bin #先備份 sudo mv gcc gcc.backup sudo mv g++ g++.backup #然後將我們下載的5.幾版本的gcc和g++連結過去 sudo ln -sf gcc-5 gcc sudo ln -sf g++-5 g++ #參看是否降級成功 gcc -v ``` **注意:**`sudo apt-get install gcc-5` 這條命令如果寫出具體的gcc版本在我的系統上無法成功執行,但是模糊的寫一個`gcc-5`就可以成功執行,命令會自動下載一個gcc-5.5。g++同理。 #### 第二步:安裝相關依賴 在正式編譯安裝ns3之前,要先安裝很多依賴軟體,執行以下命令安裝這些依賴即可: ```bash sudo apt-get update sudo apt-get install gcc g++ python sudo apt-get install gcc g++ python python-dev sudo apt-get install mercurial sudo apt-get install bzr sudo apt-get install gdb valgrind sudo apt-get install gsl-bin libgsl-dev libgsl2 sudo apt-get install flex bison libfl-dev sudo apt-get install g++ gcc sudo apt-get install tcpdump sudo apt-get install sqlite sqlite3 libsqlite3-dev sudo apt-get install libxml2 libxml2-dev sudo apt-get install libgtk2.0-0 libgtk2.0-dev sudo apt-get install vtun lxc sudo apt-get install uncrustify sudo apt-get install doxygen graphviz imagemagick sudo apt-get install python-sphinx dia sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev sudo apt-get install libboost-signals-dev libboost-filesystem-dev sudo apt-get install openmpi* sudo apt-get install texlive texlive-extra-utils texlive-latex-extra ``` 可以把這些命令複製到一個指令碼檔案裡一次性執行,免得一條一條執行太麻煩。 #### 第三步:正式安裝 1、先進入到目錄ns-allinone-3.26,然後執行如下命令: ```bash cd ns-allinone-3.26 sudo ./build.py ``` 2、然後進入到目錄ns-3.26,執行命令 ``` cd ns-3.26 sudo ./waf clean ``` 3、在目錄ns-3.26下,執行如下命令完成編譯安裝 ``` sudo ./waf -d debug --enable-example --enable-tests configure sudo ./waf ``` 如圖下圖所示,出現該情況表示編譯成功 ![](https://img2020.cnblogs.com/blog/1546042/202011/1546042-20201104214144903-418778732.png) #### 第四步:測試 在ns-allinone-3.26/ns-3.26目錄下,執行如下命令,測試是否安裝成功: ``` sudo ./waf --run hello-simulator ``` 輸出Hello Simulator表示安裝成功 ![](https://img2020.cnblogs.com/blog/1546042/202011/1546042-20201104214157973-1153073670.png) 到目前為止ns3視覺化動畫工具netanim還是不能用的狀態,後續會更新netanim的安裝過程。 **參考文獻:** https://www.jianshu.com/p/2c6c38ebe936 https://blog.csdn.net/wuzhiwuweisun/article/details/