Ubuntu 18.04 安装 ndnSIM 2.7 教程【从装系统开始,可复制性成功】

本文详细介绍了如何在Ubuntu 18.04上从安装系统开始,一步步成功安装ndnSIM 2.7。通过指定的步骤,包括下载镜像、在虚拟机中安装系统、更换软件源、安装依赖、下载源码、解决编译错误,最终实现ndnSIM的编译与运行。遵循本文教程,可避免常见问题,确保安装过程顺利完成。
摘要由CSDN通过智能技术生成

鉴于ndnSIM 安装踩坑 ——Ubuntu版本号与各种库版本号的对应关系_ndnsim切换版本-CSDN博客的原因,避免大坑,因此使用Vmware从安装系统开始,完全按照本教程操作,可以一次性成功。文章完成于2021-03-04,安装的是历史版本,因此有效期持久有效。

一、安装系统

1.官网下载镜像文件:https://ubuntu.com/download/desktop

2.由于目前Ubuntu已经更新到20版本,因此需要访问其他下载页

3.找到  Ubuntu 18.04.5 Desktop (64-bit) ,点击下载

4.将镜像下载到本地:https://releases.ubuntu.com/18.04/ubuntu-18.04.5-desktop-amd64.iso.torrent

二、在虚拟机中安装系统

使用的Vmware版本为:15.5.2 build-15785246

 创建新的虚拟机,选择好镜像文件。

需要注意内存最好分配的多一点,不然后面ndnSIM编译时可能需要配置交换分区(ndnSIM 安装踩坑 ——g++: internal compiler error: Killed (program cc1plus)_g++编译遇到text busy-CSDN博客)。

推荐配置:

安装并进入系统后,需要进行:

①换源:打开 Software & Updates (不在设置里面,如果找不到就点击左下角九个点打开面板搜索),更换服务器,推荐选择华为或阿里,高校可以用edu。

②将所有软件重新更新一遍。

sudo apt-get update
sudo apt-get upgrade

三、安装依赖

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-gi libgirepository1.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

如果安装不成功就反复安装几次,后三句可能会报错,报错后暂不处理,继续执行下一句。等执行一轮后,使用 sudo apt-get update 和 sudo apt-get upgrade 更新一下,再执行一遍上述代码,即可成功。(如有问题,评论区见)

(千万不要再管ndnSIM官网的教程了,安装好这些就相当于配置好了所有依赖,不要多此一举!)直接按照本教程依次操作即可,不可同时参考官网教程,后面内容同理。

四、下载源码

mkdir ndnSIM
cd ndnSIM
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 checkout 命令切换到对应版本:

cd ns-3/src/ndnSIM
git checkout ndnSIM-2.7
git submodule update --init

上面最后一步是安装NFD和ndn-cxx模块,注意之前的git和官网不完全一致。

cd ../..
git checkout ndnSIM-ns-3.29
cd ../pybindgen
git checkout 0.19.0

出现以下类似的提示说明 checkout 成功:

HEAD is now at fbbe13d Prepare release 2.7

Switched to a new branch 'ndnSIM-ns-3.29'

HEAD is now at ef30ba2 Merge branch 'tomhenderson-castxml'

在 pybindgen 还需进行一步安装:

sudo python setup.py install

出现如下内容说明安装成功。

提示:上述语句执行报错的解决方法,感谢罗张挥弦的贡献,大家有什么问题可以在评论区交流!

lzhx@lzhx-virtual-machine:~/Desktop/lzhx/ndnSIM/pybindgen$ sudo python setup.py install
...
  File "/tmp/easy_install-NQxrNC/setuptools_scm-6.0.1/setup.py", line 52, in <module>
    
  File "/tmp/easy_install-NQxrNC/setuptools_scm-6.0.1/setup.py", line 29, in scm_config
    )
  File "/tmp/easy_install-NQxrNC/setuptools_scm-6.0.1/src/setuptools_scm/__init__.py", line 8, in <module>
  File "/tmp/easy_install-NQxrNC/setuptools_scm-6.0.1/src/setuptools_scm/config.py", line 6, in <module>
  File "/tmp/easy_install-NQxrNC/setuptools_scm-6.0.1/src/setuptools_scm/utils.py", line 41
    print(*k)
          ^
SyntaxError: invalid syntax

 如果报错信息如上所示,提示 print(*k) SyntaxError: invalid syntax ,可以执行如下语句,然后重新执行本部分的 setup.py 的安装!

pip install setuptools-scm

五、编译运行 

1.编译 

cd ndnSIM/ns-3
./waf configure --enable-examples
./waf

 此时,会出现错误:

print(“Could not load plugin %r:%s” (filename,str(ex)),file=sys.stderr)

SyntaxError:invalid syntax

请按照我的这篇教程进行解决:Ubuntu18.04安装 ndnsim 2.7编译失败 print(“Could not load plugin %r:%s” (filename,str(ex)),file=sys.stderr)_ubuntu file=sys.stderr, ^-CSDN博客

2.编译成功后即可运行仿真了

./waf --run ndn-simple --vis 

./waf --run=ndn-grid --vis

运行过程中,会出现错误:

No visualization support (cannot import name core).

请按照我的这篇教程进行解决:Ubuntu 18.04 安装 ndnsim 2.7 运行出错 No visualization support (cannot import name core)._this layer has an invalid name.make sure that all -CSDN博客

处理之后重新运行,即可出现结果。

ndnSIM 安装困难重重,如果你按照教程操作就一定能走到最后一步,给自己点个赞吧,心累~

NDN科研工作者,长期研究,欢迎讨论交流与合作! 

评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值