1. OpenDDS简介


OpenDDS是OMG数据分发服务(DDS)的一种开源实现,它遵循实时系统v1.2的DDS规范(OMG Document formal/07-01-01)和实时公布/订阅互操作性通信协议v2.1的DDS-RTPS规范(OMG Document formal/2010-11-01)。OpenDDS由OCI公司设计和维护,可从http://www.opendds.org/的OpenDDS社区门户中获得帮助

2. Perl安装编译


1> 下载Perl:https://www.perl.org/get.html#unix_like
2> 解压缩

tar -xvzf perl-5.32.0.tar.gz

3> 编译安装

tar -xvzf perl-5.32.0.tar.gz
./Configure
make
sudo make install
make clean

3. ACE+TAO下载(FULL版本)


1> 下载ACE+TAO:https://download.dre.vanderbilt.edu/
2> 解压缩:

sudo tar -zxvf ACE+TAO-6.5.10.tar.gz -C /opt

4. OpenDDS下载


1> 下载OpenDDS:http://download.ociweb.com/OpenDDS/
2> 解压缩:

sudo tar -zxvf OpenDDS-3.14.tar.gz -C /opt

5. 修改目录权限


cd /opt
sudo chmod 777 -R ACE_wrappers/
sudo chmod 777 -R OpenDDS-3.14/

6. 设置环境变量

1> 打开编辑bashrc

vim ~/.bashrc

2> 修改bashrc内容,在bashrc末尾添加

# ACE+TAO+DDS Environment
export ACE_ROOT=/opt/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export DDS_ROOT=/opt/OpenDDS-3.14
export PATH=$ACE_ROOT/bin:$DDS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH

3> 使bashrc生效

source ~/.bashrc

8. 新增ace/config.h头文件


1> 新建ace/config.h头文件

vi $ACE_ROOT/ace/config.h

2> 复制以下内容到ace/config.h头文件中

#include "ace/config-linux.h"

9. 新增platform_macros.GNU文件


1> 新建platform_macros.GNU文件

vi $ACE_ROOT/include/makeinclude/platform_macros.GNU

2> 复制以下内容到platform_macros.GNU文件

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

10. 编译


1> 编译ACE

$ cd $ACE_ROOT
$ make clean
$ make

2> 编译TAO

$ cd $TAO_ROOT
$ make clean
$ make

3> 编译OpenDDS

$ cd $DDS_ROOT
$ export INSTALL_PREFIX="$PWD/opendds-install"
$ ./configure
$ sh setenv.sh
$ make
$ make install

11. 检测安装是否成功


1> 执行脚本run_test.pl

$ cd $DDS_ROOT/example/DCPS/Messenger_Imr
$ perl ./run_test.pl

2> 观察脚本运行输出(test PASSED表示环境正常)

>>> /opt/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/tao_imr_locator -o imr.ior  -orbendpoint iiop://:10098
>>> /opt/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/tao_imr_activator -o activator.ior -ORBInitRef ImplRepoService=file://imr.ior  -orbendpoint iiop://:10066
>>> /opt/OpenDDS-3.13.2/bin/DCPSInfoRepo  -NOBITS -o repo.ior  -ORBuseimr 1 -ORBInitRef ImplRepoService=file://imr.ior
>>> /opt/ACE_wrappers/bin/tao_imr -ORBInitRef ImplRepoService=file://imr.ior shutdown InfoRepo
Successfully shut down server <InfoRepo>
>>> /opt/ACE_wrappers/bin/tao_imr -ORBInitRef ImplRepoService=file://imr.ior update InfoRepo -l Fan-Lenovo -c "/opt/OpenDDS-3.13.2/bin/./DCPSInfoRepo  -NOBITS -o repo.ior  -ORBuseimr 1 -ORBInitRef ImplRepoService=file://imr.ior"
(486|140412808431424) ImR: Successfully registered <InfoRepo>
>>> /opt/ACE_wrappers/bin/tao_imr -ORBInitRef ImplRepoService=file://imr.ior list -v
Server <InfoRepo>Activator: Fan-LenovoCommand Line: /opt/OpenDDS-3.13.2/bin/./DCPSInfoRepo  -NOBITS -o repo.ior  -ORBuseimr 1 -ORBInitRef ImplRepoService=file://imr.iorWorking Directory: Activation Mode: NORMALNumber of retries: 0Not currently running/opt/OpenDDS-3.13.2/examples/DCPS/Messenger_Imr/publisher   -DCPSConfigFile pub.ini -orbendpoint iiop://:10109
/opt/OpenDDS-3.13.2/examples/DCPS/Messenger_Imr/subscriber   -DCPSConfigFile sub.ini
(488|139645218817856) Writer::start
(488|139645109663488) Writer::svc begins.
DataReaderListenerImpl::on_subscription_matched
(488|139645109663488) 14:52:25.926322 Writer::svc starting to write.
DataReaderListenerImpl::on_liveliness_changed
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 0text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 1text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 2text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 3text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 4text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 5text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 6text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 7text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 8text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
Message: subject    = Reviewsubject_id = 99from       = Comic Book Guycount      = 9text       = Worst. Movie. Ever.
SampleInfo.sample_rank = 0
DataReaderListenerImpl::on_liveliness_changed
DataReaderListenerImpl::on_subscription_matched
(488|139645109663488) Writer::svc finished.
(488|139645218817856) Writer::end
>>> /opt/ACE_wrappers/bin/tao_imr -ORBInitRef ImplRepoService=file://imr.ior shutdown InfoRepo
Successfully shut down server <InfoRepo>
test PASSED.

12. 常见问题


1> 出现ERROR: InfoRepoDiscovery::add_domain_participant:
虚拟机网络设置有问题,将NAT模式设置为桥接模式即可解决

2> 报错INSTALL_PREFIX没有设置,“they must be rebuilt after changing INSTALL_PREFIX”
export INSTALL_PREFIX=“$PWD/opendds-install”

银河麒麟v10服务器版安装OpenDDS相关推荐

  1. VMware安装银河麒麟V10桌面版虚拟机

    VMware安装银河麒麟V10桌面版虚拟机 第一章 VMware安装银河麒麟V10桌面版虚拟机 文章目录 VMware安装银河麒麟V10桌面版虚拟机 安装环境 一.iso下载 二.安装步骤 1.创建虚 ...

  2. 快速部署银河麒麟v10 SP1并安装dm8

    目录 一.安装银河麒麟v10 SP1 二.下载DM8 三.参数配置 四.安装达梦数据库 方法一.图形化安装 方法二.命令行安装 一.安装银河麒麟v10 SP1 选择安装银河麒麟操作系统.  选择语言中 ...

  3. 【银河麒麟V10 SP2 x86安装mysql8.0.29】

    目录 前言 一.Mysql是什么? 二.在线安装步骤 1.下载Mysql8.0.29源 2.安装源文件 3.安装Mysql-8.0.29 4.启动Mysql 5.查看默认密码 6.初始化 前言 在关系 ...

  4. 银河麒麟v10 服务器 和统信20 1050e 服务器 安装oracle 19c实战(适配成功)

    一.资源: 1.操作系统(二选一,我在适配时,两个环境都测试了)x86_64架构: 银河麒麟服务器版操作系统: Kylin-Server-10-SP2-Release-Build09-20210524 ...

  5. 银河麒麟V10服务器系统安装教程及注意事项

    系统安装 1.引导安装 从U盘引导安装时首先进入的是安装引导页面,如下图: 使用向上方向键<↑>选择"Install Kylin Linux Advanced Server V1 ...

  6. VMware 16 安装银河麒麟V10服务器系统

    1.新建 Ubuntu 64 位 的虚拟环境 2.设置虚拟机的显示器为最小分辨率1024X768,勾去3D加速图形(防止桌面登录看不到登录) 3.加载系统镜像开始安装 4.进入系统桌面,安装" ...

  7. 银河麒麟V10 wine 简明安装教程

    背景描述:客户单位换了新的国产化电脑,我看了下是银河麒麟系统V10,因为新系统银河麒麟运行不了.exe.没办法安装以前windows下的应用....踩坑开始 新手注意: 1.这不是社区版(优麒麟)安装 ...

  8. 在麒麟V10服务器上安装与运行金蝶AAS中间件

    1 简介 金蝶 Apusic 应用服务器(AAS)是由金蝶天燕开发的应用系统运行平台,为应用系统提供便捷开发.灵活部署.可靠运行.高效管理及快速集成等关键支撑.支持 Java 企业级规范和主流应用框架 ...

  9. 银河麒麟V10 桌面版镜像文件下载地址

    银河麒麟桌面操作系统V10实现了同源支持飞腾.龙芯.申威.兆芯.海光.鲲鹏等自主CPU及x86平台. 下面镜像有ARM与X86之分,两者是不能混用的,还请大家下载的时候注意一下. ARM架构7月份版本 ...

最新文章

  1. OpenCV(26)图像分割 -- 距离变换与分水岭算法(硬币检测、扑克牌检测、车道检测)
  2. vue.js 源代码学习笔记 ----- 工具方法 lang
  3. Spring Boot(一)
  4. React中如何优雅的捕捉事件错误
  5. dearpygui-0.6.6 以前的蛇变回了应该有的样子
  6. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法
  7. Value 'EN' violates facet information 'maxlength=1'
  8. 经典的机器学习方面源代码库(非常全,数据挖掘,计算...)
  9. RankLib参数翻译
  10. 办公室网络域控制器管理方案
  11. Arduino 硬件开发 教程收集
  12. iOS navigationBar导航栏底部与self.view的分界线的隐藏
  13. mybatis多个foreach_mybatis的foreach 删除多条使用汇总
  14. DPDK Release 20.08
  15. win7首次使用计算机,首次安装win7系统如何进行硬盘分区
  16. [内附完整源码和文档] 基于VS2013实现的弹弹堂小游戏
  17. 解决VAX 2210 不能识别 VS2017的问题
  18. css缩2个字,首行缩排2字元怎么设定 css
  19. WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK
  20. [Mac] 安装软件时,出现 Waiting for other installations to complete

热门文章

  1. stemadb反扒机制分析
  2. FPGA实现简易的自动售货机模型
  3. Python练习题六
  4. C 语言版stl: CSTL
  5. 北京市2021年高考适应性测试成绩查询,教育局2021适应性考试成绩查询
  6. android App流量统计
  7. 51CTO移动客户端可以在线下载安装啦 - 51CTO博客开发 - 51CTO技术博客
  8. conda的基本操作(命令行终端)
  9. 维生素c和b1_维生素C和维生素B1各有什么作用,长期使用有没有害??
  10. 005-WebBuilder使用结构元素进行网页布局