截至目前,ndnSIM已经有十个版本,从1.0到2.8版本,观察发现其 Getting Started 页面安装步骤几乎完全相同,代码主要通过以下三个命令获取:
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 --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM
然而这三句在各个版本的教程中是完全一样的,这三个git仓库下载以后均为实时更新的版本,即按照教程(Getting Started — ndnSIM documentation)安装ndnSIM2.3时,下载的代码为最新版本,即ndnSIM2.8。
但在老版本的安装过程中,使用了对应老版本的 platforms 和 dependencies 环境,因此会导致安装和运行过程中的各种失败。(超级大坑)
下载代码的语句只会将github仓库最新的代码下载下来,无法适配老版本的运行环境,导致错误。因此按照老版本的安装教程操作很大概率就会出现问题
这也是ndnSIM难以安装成功的主要原因,总是会出现各种错误。
解决方法:根据系统环境查询获取相对应的版本号进行安装
三个代码仓库的tag如下:
https://github.com/named-data-ndnSIM/ns-3-dev/tags
https://github.com/named-data-ndnSIM/ndnSIM/tags
https://github.com/named-data-ndnSIM/pybindgen/tags
在列表中可以根据教程制作的时间,结合代码版本的发布时间,确定使用的版本。
这里提供两个已经验证的版本号对应关系,实际测试可以成功安装运行,具体安装过程可以查看下一篇教程。
操作系统 | Ubuntu 18 |
---|---|
ndnSIM | ndnSIM-2.7 |
ns-3-dev | ndnSIM-ns-3.29 |
pybindgen | 0.19.0 |
操作系统 | Ubuntu 16 |
---|---|
ndnSIM | ndnSIM-2.5 |
ns-3-dev | ndnSIM-v2.5 |
pybindgen | 0.18.0 |
经检验可以支持可视化仿真,报错很少且可以全部解决。
安装步骤:
①先下载三个组件的代码;
②使用 git checkout 命令分别进入这三个库的代码目录执行,切换到对应版本。(需要注意切换的版本名称要在对应的tag【上面有地址】中找到)
例如:
cd ns-3/src/ndnSIM
git checkout ndnSIM-2.7
NDN科研工作者,长期研究,欢迎讨论交流与合作!