一塘淑、安裝依賴(lài)庫(kù)
- 請(qǐng)以官網(wǎng)為準(zhǔn):https://www.nsnam.org/wiki/Installation#Ubuntu.2FDebian.2FMint
- 有幾個(gè)地方需要自己改一下,我在下面標(biāo)了
- 建議全程使用root用戶(hù)進(jìn)行安裝肩狂,否則自行添加 sudo
- 安裝C++和python3(其實(shí)ubuntu 20.04已經(jīng)內(nèi)置了)
apt-get install g++ python3
- 如果你要安裝的版本是3.30或3.31或ns-3-dev见擦,你還需要安裝(推薦安裝)
apt-get install python3-dev pkg-config sqlite3
- 對(duì)Python(開(kāi)發(fā))的最低要求:為了使用ns-3-allinone存儲(chǔ)庫(kù)(從Git克露ず埂),需要其他軟件包才能獲取并成功安裝pybindgen和netanim锡宋。
apt-get install python3-setuptools git
- qt5
apt-get install qt5-default mercurial
- ns-3-pyviz可視化工具的依賴(lài)(安裝失敗也沒(méi)事兒儡湾,這個(gè)以后再說(shuō))
- 對(duì)于ns-3.28和更早的版本,PyViz基于GTK + 2执俩,GooCanvas和GraphViz:
apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
- 對(duì)于Ubuntu 18.04徐钠,不再提供python-pygoocanvas。 ns-3.29和更高版本將支持升級(jí)到GTK +版本3役首,并且需要以下軟件包:
apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
- 基于MPI的分布式仿真的依賴(lài)
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
- bake構(gòu)建工具的依賴(lài):
apt-get install autoconf cvs bzr unrar
- 調(diào)試
apt-get install gdb valgrind
- utils / check-style.py代碼樣式檢查程序的依賴(lài)
apt-get install uncrustify
- Doxygen和相關(guān)的在線(xiàn)文檔:
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
- ns-3手冊(cè)和教程使用Sphinx的reStructuredText(doc / tutorial尝丐,doc / manual,doc / models)編寫(xiě)衡奥,并且圖形通常以dia(還需要上面的texlive軟件包)編寫(xiě):
apt-get install python3-sphinx dia
- GNU科學(xué)庫(kù)(GSL)支持更精確的802.11b WiFi錯(cuò)誤模型(OFDM不需要):
apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
- 讀取pcap數(shù)據(jù)包跟蹤
apt-get install tcpdump
- 數(shù)據(jù)庫(kù)對(duì)統(tǒng)計(jì)框架的支持
apt-get install sqlite sqlite3 libsqlite3-dev
- 配置存儲(chǔ)的基于Xml的版本(需要libxml2> =版本2.7)
apt-get install libxml2 libxml2-dev
- 支持生成修改后的python綁定(這步官網(wǎng)是安裝的pip爹袁,但是現(xiàn)在一般都是python3,ubuntu20.04已經(jīng)不支持pip矮固,所以這里我換成了python3的pip)
apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake python3-pip
python3 -m pip install --user cxxfilt
- 基于GTK的配置系統(tǒng)
apt-get install libgtk-3-dev
- 實(shí)驗(yàn)虛擬機(jī)和ns-3
apt-get install vtun lxc uml-utilities
- 支持openflow模塊(需要一些boost庫(kù))官網(wǎng)還要安裝libboost-signals-dev失息,但是無(wú)論是ubuntu官網(wǎng)還是網(wǎng)上譬淳,都沒(méi)有有關(guān)這個(gè)的信息,然后網(wǎng)上說(shuō)openflow這個(gè)可以不安盹兢,所以對(duì)于libboost-signals-dev邻梆,有需要的自行解決
apt-get install libboost-filesystem-dev
二、安裝 NS3
- 創(chuàng)建Tarballs目錄
mkdir tarballs
- 進(jìn)入目錄
cd tarballs
- 下載壓縮包
wget http://www.nsnam.org/release/ns-allinone-3.31.tar.bz2
- 解壓
tar xjf ns-allinone-3.31.tar.bz2
三绎秒、編譯 NS3
- 編譯文件(設(shè)置允許測(cè)試)
sudo ./build.py --enable-examples --enable-tests
四浦妄、測(cè)試
1. 清除 build 目錄
cd ns-3.31
./waf distclean
2. 打開(kāi) debug 并開(kāi)啟例子及幫助
./waf configure --build-profile=debug --enable-examples --enable-tests
./waf build
3. 可通過(guò)運(yùn)行./test.py -c core來(lái)進(jìn)行測(cè)試
./test.py -c core
4. 運(yùn)行一個(gè)經(jīng)典的腳本
./waf --run hello-simulator
六、ERROR
1. 若看不到輸出见芹,則按照如下配置
./waf configure --build-profile=debug --enable-examples --enable-tests
2. 如果出現(xiàn)錯(cuò)誤
Build failed
-> task failed (exit status 1):
解決辦法:將虛擬機(jī)內(nèi)存調(diào)大剂娄,即可;