NDN仿真安装
安装准备
sudo apt install build-essential libsqlite3-dev libboost-all-dev libssl-dev git python-setuptools castxml
sudo apt install python-dev python-pygraphviz python-kiwi python-gnome2 ipython libcairo2-dev python3-gilibgirepository1.0-dev python-gi python-gi-cairo gir1.2-gtk-3.0 gir1.2-goocanvas-2.0 python-pip
pip install pygraphviz pycairo PyGObject pygccxml
sudo apt-get install graphviz libgraphviz-dev graphviz-dev pkg-config
pip install pygraphviz
下载源码
现在任意文件创建个ndnsim文件夹
mkdir ndnSIM2.7
然后进入该文件夹下,进行源码的下载
cd ndnSIM2.7
git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3
git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen
git clone https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM
修改对应版本号
这里的命令依靠git实现,能到这一步肯定都安装好了,就不多说了
首先进入到ndnSIM的核心源码地带
cd ns-3/src/ndnSIM
通过git checkout修改版本号
git checkout ndnSIM-2.7
也可以通过git tag查看所有的版本号,然后修改为想要安装的版本
然后安装NFD和ndn-cxx模块
git submodule update --init
接下来进入到ndnSIM2.7/ns-3文件下进行版本的修改
git checkout ndnSIM-ns-3.29
接下对pybindgen的版本进行修改
cd ndnSIM2.7/pybindgen
git checkout 0.19.0
然后在此目录下安装安装该python模块
sudo python setup.py install
可视化出现问题
PyViz visualizer : not enabled (Python Bindings are needed but not enabled)
Python Bindings : not enabled (PyBindGen missing)
这个问题其实很好解决,执行一下
pip install pybindgen
注:以下代码若不知道存放路径,运行pip show pybindgen即可,或者重新运行一遍上面的代码
./waf -d debug configure --with-pybindgen=存放路径//ex:./waf -d debug configure --with-pybindgen=/home/antl417/anaconda3/lib/python3.8/site-packages
#在此虚拟机中应该是下面的
./waf -d debug configure --with-pybindgen=/home/yin/.local/lib/python3.8/site-packages
然后执行
./waf configure --with-pybindgen=/home/yin/.local/lib/python3.8/site-packages --enable-examples
./waf
./waf --run ndn-simple --vis
正常情况直接编译完成,出现错误的话请看下面的修改提示

进入到可视化模块下将‘file=’删除
cd ndnSIM2.7/ns-3/src/visualizer/visualizer
进入base.py文件,修改保存即可
成功编译:
第二种错误可能出现在运行时加上–vis可视化模块时,如下图所示
这种情况下,还是进入刚才的那个文件夹,修改hub.py文件
将from.import注释,修改为import core,再次运行就可以了
第三个错误也可能是出现在加上-vis的情况,如下图所示:
安装gi.cairo即可解决:
sudo apt-get install gi.cairo
成功启动
然后执行
./waf configure --with-pybindgen=/home/yin/.local/lib/python3.8/site-packages --enable-examples
./waf
./waf --run ndn-simple --vis
启动之后的simple如下图所示:
参考教程:
ndnSIM的使用教程-CSDN博客
安装流程:在Ubuntu安装ndnSIM_ndnsim20安装教程-CSDN博客
可视化出现问题解决方法:NS3可视化问题及解决办法_ns3.34 python binding-CSDN博客
评论

