ndnSIM在ubuntu18.04.3中安装出现的问题

ndnSIM在ubuntu18.04.3中安装出现的问题

0.安装依赖包

sudo apt-get install gcc g++ python 很重要
sudo apt-get install gcc g++ pythonpython-dev
sudo apt-get installmercurial
sudo apt-get install bzr
sudo apt-get install gdbvalgrind
sudo apt-get install gsl-bin libgsl0-devlibgsl0ldbl
sudo apt-get install flex bisonlibfl-dev
sudo apt-get install g++gcc 此处可以不执行
sudoapt-get install tcpdump
sudoapt-get install sqlite sqlite3 libsqlite3-dev
sudoapt-get install libxml2 libxml2-dev
sudoapt-get install libgtk2.0-0 libgtk2.0-dev
sudoapt-get install vtun lxc
sudoapt-get install uncrustify
sudoapt-get install doxygen graphvizimagemagick
sudoapt-get install texlive texlive-extra-utilstexlive-latex-extra
sudoapt-get install python-sphinx dia
sudoapt-get install python-pygraphviz python-kiwi python-pygoocanvaslibgoocanvas-dev
sudoapt-get install libboost-signals-devlibboost-filesystem-dev
sudoapt-get install openmpi-bin openmpi-doc libopenmpi-dev

ps:由于ubuntu版本不一样,命令可能不一样,根据提示执行命令。

1.SyntaxError:invalid syntax

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

SyntaxError:invalid syntax
Build failed

错误原因:升级ndnSIM的可视化后,该版本与python不兼容;
解决方法:修改python文件,去掉’file=’;

ps:修改的python文件不是提示中的位置的文件,该python文件位于/ns-3/src/visualizer/visualizer/base.py中。

2.Visualizer模块安装失败

查看了很久官方文档,发现是boost库没有正确安装;
以后做项目一定一定要看好官方文档鸭!
正确安装步骤
A.sourceforge找到boost资源,这里使用的是boost_1_72_0.tar.bz2;
B.解压压缩包(可能使用到bzip2工具,提前准备好);
C.执行./booststrap.sh;
D.执行./b2(需要超级权限);
E.根据需求设置环境变量;

3.BRITE click openflow模块安装失败(转)

(1)brite安装

#: hg clone http://code.nsnam.org/jpelkey3/BRITE

#: cd BRITE

#: make

#:cd…

#: hg clone http://code.nsnam.org/jpelkey3/ns-3-brite-modular

#: cd ns-3-brite-modular

#: ./waf configure–with-brite=BRITE的路径

#: ./waf

测试:

#: ./waf –run ‘brite-generic-example–verbose=1’

(2)click模块

click是一个构建可配置路由器的软件架构,通过使用称之为元素element(即包处理单元)的不同组合,click路由器能够执行特定功能,这种灵活性提供了测试和实验不同协议的优良平台。

*下载click(http://read.cs.ucla.edu/click/download)

*进入click目录配置编译click

cd click

./configure --enable-userlevel–disable-linuxmodule --enable-nsclick–enable-wifi

./make (没有必要使用makeinstall,或者用make)

*重新配置和构建ns3(进入ns3.17目录)

./waf configure --enable-examples --enable-tests–with-nsclick=click源码路径

如果click安装在ns-3-allinone文件夹中,即ns-3文件夹的上层文件夹中,"–with-nsclick=click源码路径"不需要,ns3构建器能够自动找到click源码

./waf

*测试click

./waf --run nsclick-simple-lan

将得到两个.pcap跟踪结果文件:nsclick-simple-lan-0-0.pcap和nsclick-simple-lan-0-1.pcap

(2)openflow

openflow 交换广泛用于科研中,通过openflowAPI可以对OpenFlow交换进行配置。openflow交换拥有针对服务质量的多协议标签交换(MPLS)扩展和支持service-level-agreement。通过使用openflow交换,ns3能够精确仿真多种不同的交换。

*下载openflow

hg clone http://code.nsnam.org/jpelkey3/openflow

*配置和构建openflow(在openflow文件夹下运行)

./waf configure

./waf build

此时生成libopenflow.a库文件

*链接OpenFlow模块到ns3(在ns3的源码文件夹下运行,如ns-3.12.1)

./waf configure --enable-examples --enable-tests–with-openflow=下载的openflow源码路径(openflow)

此时并没有用OpenFlow的自带模块

./waf build(构建ns3并激活ns3的openflow模块)

*测试openflow

./waf --run openflow-switch

./waf --run “openflow-switch-v”(查看日志细节)

*验证openflow模块

./test.py --suite=openflow

4.waf构建项目工程

https://www.cnblogs.com/ibingshan/p/10286704.html

5.g++: internal compiler error: Killed (program cc1plus)

运行错误
原因:内存不足,需要临时交换分区。
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile

//进行一系列编译工作

Code:
sudo swapoff /swapfile
sudo rm /swapfile

6.openflow模块找不到update_checksums

[2291/2493] Linking build/src/openflow/examples/ns3.24.1-openflow-switch-debug
./libns3.24.1-openflow-debug.so: undefined reference to `update_checksums’
collect2: error: ld returned 1 exit status

原因:gcc最新版本的问题;
改正:
在下载的openflow的switch /文件夹中检查您的pt_act.c文件。如果未将update_checksums定义为静态函数,在“ void inline”之前添加“ static”。

A.重建openflow
B.转到ns发行版的位置,从build / lib中删除libns3.24.1-openflow-debug.so
C.配置WAF并重新构建。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值