linux16.04安装NS-3-DCE的一些记录
linux16.04安装NS-3-DCE的一些记录
1、安装一个软件比较靠谱的方法是查看官方发布的文档,照着官方文档安装,有问题再到网上搜索一波。
2、安装方法之一:利用bake进行安装
(1)先下载bake
hg clone http://code.nsnam.org/bake bake
export BAKE_HOME=`pwd`/bake
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME
(2)创建DCE目录并配置要下载的部件及版本
mkdir dce
cd dce
bake.py configure -e dce-ns3-1.9 -e dce-linux-1.9
(3)检查依赖是否全部安装好了(有些依赖没有安装也没事,因为是非必须依赖,所以不安装也问题不大)
bake.py check
bake.py show
这会显示出没有安装的依赖,把这些依赖装上就好了。但有些依赖不好装,有些是必须装的,有些是非必须的,如果一些依赖缺失了但也不影响编译运行,可以不装。
安装依赖的一些注意点:
1)若报clang-dev未安装,如果用以下命令安装就输了
sudo apt install clang-dev
因为clang-dev库所在的包libclang-dev,所以应该用
sudo apt install libclang-dev
2)缺失libc(即提示:libc - Missing)
如果是
sudo apt-get install libc6
安装的是amd64的libc6
需要的是i386的libc6,所以需要
sudo apt-get install libc6:i386
其中,pygraphviz是PyViz可视化模块需要用到的,如果不需要用到PyViz,不装也没事。
3)
sudo apt install pkg-config
4)
报错的这部分主要作用是检查gccxml的版本是否过低,看了下ns-3-dce/bindings/python/wscript里的代码,发现其是用gccxml --version查看版本号的。但是在我的ubuntu中,不知道是gccxml版本问题还是啥,用gccxml --version查看不出来版本号,所以导致报错了。所以最简单的解决方法是忽略掉gccxml的版本检查,即把检查gccxml版本的代码注释掉。即ns-3-dce/bindings/python/wscript的下面部分注释掉:
# ## Check gccxml version
# try:
# gccxml = conf.find_program('gccxml', var='GCCXML')
# except WafError:
# gccxml = None
# if not gccxml:
# Logs.warn("gccxml missing; automatic scanning of API definitions will not be possible")
# ns3waf._report_optional_feature(conf, "pygccxml", "Python API Scanning Support", False,
# "gccxml missing")
# return
# print "gccxml-->"
# print gccxml
# gccxml_version_line = os.popen(gccxml + " --version").readline().strip()
# print "gccxml_version_line-->"
# print gccxml_version_line
# m = re.match( "^GCC-XML version (\d\.\d(\.\d)?)$", gccxml_version_line)
# print "m-->"
# print m
# gccxml_version = m.group(1)
# gccxml_version_ok = ([int(s) for s in gccxml_version.split('.')] >= [0, 9])
# conf.msg('Checking for gccxml version', gccxml_version)
# if not gccxml_version_ok:
# Logs.warn("gccxml too old, need version >= 0.9; automatic scanning of API definitions will not be possible")
# ns3waf._report_optional_feature(conf, "pygccxml", "Python API Scanning Support", False,
# "gccxml too old")
# return
(4)依赖安装好之后就可以下载了:
bake.py download -vvv #加入-v或-vvv可显示更详细的信息
(5)进行编译:
bake.py build
有时候dce-linux-1.9编译成功了,但是运行dce仿真脚本的时候还是会报
lookupByName:socketFactory not found
这个错误,按理来说dce-linux-1.9都编译成功了,不应该会出这个错误。唉,多编译几次多试几下把,然后竟然神奇地发现错误没了。。。没了。。。有点懵逼,不知是我操作不对还是咋地,反正可以运行了,不管了。
至此,结束,可以运行dce脚本了。
上一篇: (2)NS3源代码的目录结构
下一篇: 卷积神经网络(LENET)
推荐阅读
-
记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法
-
mysql自联去重的一些笔记记录
-
记录一下安装 mysql 的踩坑之路
-
详解关于Android Studio中安装和gradle的一些坑
-
在vscode中安装使用pylint-django插件解决pylint的一些不必要的错误提示
-
解决pycharm每次新建项目都要重新安装一些第三方库的问题
-
DEV C++在win7系统中安装以及遇到的一些问题解决
-
记录vue做微信自定义分享的一些问题
-
记录安装Python第三方包“tesserocr”的方法和遇到的坑
-
CentOs 7.*中配置安装phpMyAdmin的完整步骤记录