事情是这样的,我要做的一个项目需要安装mini-ndn v0.1.1。
一、版本问题
但是我查看github上的mini-ndn库已经更新到了0.4.0 版本。
但我下载下来特定的mini-ndnv0.1.1版本的代码(下载方法参照另一篇文章<<在github下载某个程序的特定版本代码>>),下载下来代码之后我就按照mini-ndn v0.1.1版本的安装说明(https://github.com/named-data/mini-ndn/blob/v0.1.1/INSTALL.md)进行安装。
安装mini-ndn需要很多依赖:NFD,NLSR,ndn-tools,ndn-cxx.mininet这五个库,我查看mini-ndnv0.1.1版本的安装说明,发现有以下两种安装方法:
(1) 手动安装所有的依赖,包括(NFD,NLSR,ndn-tools,ndn-cxx,mininet),然后利用mini-ndn(v0.1.1.)目录下的install.sh脚本进行安装,使用指令:sudo ./install.sh -i
(2) 不用手动安装所有的依赖,直接利用mini-ndn(v0.1.1)目录下的install.sh脚本进行安装,使用指令:sudo ./install.sh-mrfti
我之前将两种方法都尝试了一遍,结果到最后,都出现了错误。最后通过和mini-ndn的作者沟通,作者说如果安装旧版本的mini-ndn,那么它所对应的那些依赖也应该是旧版本,并且是和mini-ndn是相匹配的。
因为我知道我要装的是mini-ndnv0.1.1,下面的问题就是如何确定对应的NFD,NLSR,ndn-tools,ndn-cxx,mininet的版本信息。我通过在github上查询相应的库的release日期,找到了几个相近的日期的版本,如下:
mini-ndn v0..1.1 2015-11月-4
mininet v2.2.1 2015-4-5
NFD v0.4.0-beta2 2015-10-23
NFD v0.4.0-beta1 2015-10-23
NFD v0.3.4 2015-8-31
ndn-cxx v0.4.0-beta2 2015-10-22
ndn-cxx v0.4.0-beta1 2015-10-22
ndn-cxx v0.3.4 2015-8-31
nLSR v0.2.12015-6-30
ndn-tools v0.2 2015-8-31
所以,就可以认为,mini-ndnv0.1.1对应:mininet v2.2.1、NLSRv0.2.1 、ndn-tools v0.2 ,现在有一个问题,我们可以看到上面的NFD和ndn-cxx版本是一一对应的,但问题是NFD这三个版本的发型日期都很相近,而且有两个还是一样的,到底应该选哪个?我查了一下beta版是一种测试版本,所以最终选择了NFD v0.3.4版本和ndn-cxx v0.3.4版本。
确定了mini-ndn所有依赖的版本信息,接下来就是将它们都下载下来,这时候注意,下载是下载到mini-ndn的同级目录下,比如说mini-ndn在bishe目录下,则将NFD,NLSR,ndn-cxx,ndn-tools,mininet也下载到bishe下。
下一步就是安装的问题了。
二、安装问题
我在这采用的是使用mini-ndn目录下的脚本install.sh进行安装。但是因为mini-ndn的所以依赖我们都是手动下载下来放到同级目录中的,所以肯定是需要修改这个install.sh中的内容。
我们打开mini-ndn中的install.sh脚本,仔细查看代码,会发现里面一共有5条git clone的指令,如下:
git clone --depth1 https://github.com/named-data/NFD
git clone --depth1 https://github.com/named-data/NLSR
git clone --depth1