Ubuntu14.04安裝配置ndnSIM
預環境
Ubuntu14.04官方系統
請先使用sudo apt-get update
更新一下源列表
安裝步驟
安裝boost-lib
sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev
sudo apt-get install libboost-all-dev
其中,build-essential和libboost是目標安裝文件,build-essential中包含各種編譯工具,其中最主要的是個gcc和g++,這里g++版本要求為4.5.4
libboost會被默認安裝在 /usr/lib/x86_64-linux-gnu
路徑下,如通過源碼安裝請確認版本至少為1.46,官方要求最低版本號,已知1.59版本編譯不成功,這里推薦1.54和1.55版本,在默認路徑下可以查看版本號
安裝Python bindings
sudo apt-get install python-dev python-pygraphviz python-kiwi
sudo apt-get install python-pygoocanvas python-gnome2
sudo apt-get install python-rsvg ipython
強烈建議,python必須是2.7,如果是3.4版本,請手動把每一個print ''
語句修改為print()
語句,所以還是老老實實用2.7吧,暫時默認安裝就是2.7
命令行敲入python進入python交互環境即可看到版本號,使用exit()退出交互環境
下載ns3、pybindgen和ndnsim
mkdir ndnSIM
cd ndnSIM
git clone git://github.com/cawka/ns-3-dev-ndnSIM.git ns-3
(cd ns-3; git checkout -b ndnSIM-0.4.3 ns-3.17-ndnSIM-0.4.3)
git clone git://github.com/cawka/pybindgen.git pybindgen
git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM
(cd ns-3/src/ndnSIM; git checkout -b v0.4.3 v0.4.3)
ns-3目前的版本更新到了v2.1,但是ndnSIM版本沒支持這么高,這些選用論文中相同的版本,都是v0.4.3,使用git版本回退功能到v0.4.3版本的Release,可以使用git branch
查看當前版本信息,注意使用cd命令改變路徑
下載修改完成后目錄結構如下
請主動忽略其余文件夾,關鍵目錄結構樹如下
- ndnSIM
- ns-3
- src
- ndnSIM
- src
- pybindgen
- ns-3
編譯ns-3
這里先挖個坑,pybindgen暫時不能成功編譯,這里暫時不編譯它
將文件夾修改名稱,只要不是pybindgen就ok,可以參考我的
/********更新********/
我來填坑了,憑記憶的錯了別怪我,編譯前先配置好,在pybindgen文件夾里面,修改version.py文件,根據編譯結果提示修改,我這里修改后的結果為:
__version__ = [0, 17, 0, 887]
"""[major, minor, micro, revno], revno omitted in official releases"""
/*********************/
CXXFLAGS="-Wall" ./waf configure --boost-libs=/usr/lib/x86_64-linux-gnu -d optimized
./waf -j4
sudo ./waf install
這里修改--boost-libs=后面的路徑為自己的boost-lib路徑,如果已加入環境變量豪華午餐,那就可以不用這個參數了,否則編譯工具找不到boost-lib
CXXFLAGS="-Wall"
語句的作用是修改報錯cc1plus: all warnings being treated as errors
,忽略全部的warning
-j4
這個參數是使用4核同時編譯,加快速度,考慮自己環境實際使用,如果使用不當會更慢,編譯過程,對於make
指令也適用
安裝完成后模塊信息如圖所示
注意檢查關鍵模塊ndnSIM模塊成功安裝與否
編譯論文代碼
cd ndnSIM
git clone https://github.com/cawka/ndnSIM-nom-rapid-car2car.git
cd ndnSIM-nom-rapid-car2car
./waf configure --boost-libs=/usr/lib/x86_64-linux-gnu
./waf
這步不通過請檢查上面的環境和過程
安裝R語言
官網網址:https://www.r-project.org/
選擇Download R
CRAN列表選擇清華大學的鏡像源https://mirrors.tuna.tsinghua.edu.cn/CRAN/
選擇Download R for Linux
選擇ubuntu
選擇trusty
64位系統請選擇 r-base-core_3.2.2-1trusty0_amd64.deb 下載
32位系統請選擇 r-base-core_3.2.2-1trusty0_i386.deb 下載
然后雙擊安裝就可以了
(挖個坑,如果不行再安裝一個 r-base_3.2.2-1trusty0_all.deb ,一般這個不用裝)
注意,默認使用sudo apt-get install r-base
安裝后的版本為3.0.2,對於后面安裝模塊ggplot2會不受支持,因此請用安裝包安裝最新版
給R環境安裝模塊
sudo R
install.packages ('proto')
install.packages ('ggplot2')
install.packages ('doBy')
注意查看安裝信息
運行與測試
cd ndnSIM/ndnSIM-nom-rapid-car2car
./run.py -s figure-3-data-propagation-vs-time
./run.py -s figure-4-data-propagation-vs-distance
./run.py -s figure-5-retx-count
查看信息即可知道運行情況
進入ndnSIM/ndnSIM-nom-rapid-car2car/graphs/pdfs
路徑可以查看pdf信息情況