Giter Club home page Giter Club logo

opendds / opendds Goto Github PK

View Code? Open in Web Editor NEW
1.3K 68.0 463.0 121.71 MB

OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). OpenDDS also supports Java bindings through JNI.

Home Page: http://www.opendds.org

License: Other

C++ 81.46% Perl 4.67% Shell 0.16% C 0.39% HTML 2.88% Java 8.31% CSS 0.22% Makefile 0.02% Batchfile 0.01% XSLT 0.73% Ruby 0.05% Awk 0.01% sed 0.01% Dockerfile 0.01% CMake 1.03% Python 0.06%
dds c-plus-plus java opendds

opendds's Introduction

OpenDDS

OpenDDS

Coverity Scan Build Status

OpenDDS is an open-source C++ implementation of the Object Management Group's specification "Data Distribution Service for Real-time Systems" (DDS), as well as some other related specifications. These standards define a set of interfaces and protocols for developing distributed applications based on the publish-subscribe and distributed cache models. Although OpenDDS is itself developed in C++, Java bindings are provided so that Java applications can use OpenDDS. OpenDDS also includes support for the DDS Security and XTypes specifications.

OpenDDS is built on the ACE abstraction layer to provide platform portability. OpenDDS also leverages the capabilities of TAO for IDL compilation and the OpenDDS DCPS Information Repository.

The primary development of OpenDDS was done by Object Computing, Incorporated in St. Louis and Phoenix. It is released under generous license terms similar to ACE, TAO and MPC. See the LICENSE file for details.

Table of Contents:

Documentation

Other documentation can be found in docs directory.

Support

For commercial support, please see https://opendds.org/support.html.

Questions concerning OpenDDS should be directed to GitHub Discussions.

If you wish to file a bug report:

  1. Fork OpenDDS on GitHub.
  2. Add a minimum working example that demonstrates the problem.
  3. Create a pull request.
  4. Fill out the PROBLEM-REPORT-FORM and attach it to the pull request.
  1. Create a directory tests/DCPS/MyExample (MyExample is a placeholder.)
  2. Add the IDL, code, and configuration files for the example programs. Be sure to exclude any proprietary information as the submitted example will be public.
  3. Add an MPC file that builds the test programs.
  4. Add a launcher script run_test.pl. Be sure to document the options. See tests/DCPS/HelloWorld/run_test.pl for inspiration.
  5. Add a README.rst file that gives a high-level overview of the example and the problem that it illustrates.

It should be possible to build and run the example using run_test.pl as in the quickstarts for Windows and Linux. If the problem lies in the example, then GitHub's Pull Request interface will allow people to discuss, comment on, and propose changes to get the example working. If the problem lies in OpenDDS, then the example is a new test case.

Features

This release of OpenDDS is based on the DDS Specification formal/2015-04-10 (version 1.4). It features the following transport protocols:

  • TCP/IP
  • UDP/IP
  • IP multicast
  • RTPS over UDP/IP (unicast and multicast)
  • Shared memory

RTPS (Interoperability) features are based on the DDS-RTPS Specification formal/2019-04-03 (version 2.3). See the OpenDDS Developer's Guide and the file docs/design/RTPS for more details on RTPS.

See the Developer's Guide for information on OpenDDS compliance with the DDS specification. If you would like to contribute a feature or sponsor the developers to add a feature please see the Support section above for contact information.

Dependencies

These are just the required dependencies. For a complete detailed list of dependencies, including optional ones, see https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.

ACE/TAO

OpenDDS requires TAO for both IDL compilation as well as interaction with the DCPSInfoRepo. ACE is also required, but it is always included with TAO. If you will be using the configure script for OpenDDS, you do not need to download TAO first -- the configure script will download it for you.

Perl

Perl is used for the configure script, running the automated tests and examples included in this source tree, and generating Makefiles or Visual Studio project files.

On Windows we recommend the use of Strawberry Perl.

Supported Platforms

Operating Systems

This release of OpenDDS has been tested under the following platforms:

Linux family:

  • Red Hat EL and CentOS 6.6, 6.8, 6.9 (x86_64)
  • Red Hat EL and CentOS 7.2, 7.3, 7.4 (x86_64)
  • Red Hat EL 8.0 (x86_64)
  • Fedora 24 and 31 (x86_64)
  • Debian 9.4 (i686)
  • Ubuntu 22.04 LTS (x86_64)
  • openSUSE 42.1 (x86_64)
  • Yocto 3.4.4 (ARMv8)

Windows family:

  • Windows 7 (32-bit, 64-bit)
  • Windows Server 2012 R2 (64-bit)
  • Windows 10 (64-bit)

Embedded/Mobile/IoT:

We have built OpenDDS for VxWorks 6.9, 7, and 21.03 and have run basic system and performance tests (but not the entire regression test suite). Please see the OpenDDS Support page for more information on support for ACE, TAO, and OpenDDS on VxWorks. Download VxWorks RPM packages for ACE, TAO, and OpenDDS here.

Compilers

This release of OpenDDS has been tested using the following compilers:

  • Microsoft Visual C++ 10 with SP1 (Visual Studio 2010)
  • Microsoft Visual C++ 11 (Visual Studio 2012) - Update 4
  • Microsoft Visual C++ 12 (Visual Studio 2013) - Update 5
  • Microsoft Visual C++ 14 (Visual Studio 2015) - Update 3
  • Microsoft Visual C++ 14.1 (Visual Studio 2017) cl 19.16.27048
  • Microsoft Visual C++ 14.2 (Visual Studio 2019) cl 19.29.30146
  • gcc 4.4.7, 4.8.5
  • gcc 6.2.1, 6.3.0
  • gcc 7.2.0, 7.3.0, 7.5.0
  • gcc 8.2.0, 8.2.1
  • gcc 9.3.1
  • gcc 12.2.0
  • Ubuntu clang 14.0.6
  • Ubuntu clang 15.0.0

Building and Installing

For building and installation instructions see https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html

Quick Start with Docker

See the Docker Quick Start for how to use the pre-built docker image.

opendds's People

Contributors

adamkutell avatar adamsj-ros avatar brianjohnson5972 avatar ceneblock avatar claytoncalabrese avatar dczanella avatar dependabot[bot] avatar hud1031 avatar iguessthislldo avatar iliyan avatar jmmorato avatar jonesc-oci avatar jrw972 avatar jwillemsen avatar kuznetsovmoci avatar lewisdo avatar lij-oci avatar mitza-oci avatar neeleym avatar ocielliottc avatar oschwaldp-oci avatar oth3r1if3 avatar paulcalabrese avatar plabanca avatar pmesnier avatar pollocktoci avatar simpsont-oci avatar sonndinh avatar tmayoff avatar wilsongoci avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opendds's Issues

Build problem with PR #338

@jwillemsen: There's an error on build dds_doc_master_mosquito_linux_gcc_d0o1i0c1 which disables built-in topics at compile time. The PR added #include "dds/DdsDcpsCoreTypeSupportC.h" in tests/DCPS/StaticDiscovery/DataReaderListenerImpl.cpp. That include can be guarded by an ifdef for DDS_HAS_MINIMUM_BIT.

QoS XML library uses dds4ccm_opendds MPC feature

The QoS XML library uses dds4ccm_opendds as part of its MPC files. This looks an old dependency and should be removed to my idea. At the moment OpenDDS is on a system where there is xerces and ace_xml_utils this library should be compiled and available, independent of dds4ccm_opendds

Matlab/Simulink support

Are you planning any support fo Matlab/Simulink in future releases?

Maybe a simulink blockset for reading and writing data between models?

Add support for IDL to C++11 generated user types

It would be an interesting enhancement when OpenDDS would be able to support in addition to IDL to C++ defined types to also support IDL to C++11 defined types. This would at least need some extensions in the opendds idl compiler to support a different generated type system, maybe some more rework in the core.

Extend user feedback for FQDN warning

On some systems I get the message below, it would help new users when this message would point to for example a wiki page describing the background of the warning and how to fix it on various platforms.

(10062|139710143137856) WARNING: Could not find FQDN. Using "127.0.0.1" as fully qualified hostname, please correct system configuration.

Website down

Hey guys,

it seems, that your webpage is not online anymore. Is that correct?

Kind Regards,
Max

How to improve throughput ?

Hi ,

Because I don't understand how to use your /performance-tests about throughput and latency ,
I have done a program , modified from sample code of other vendor , to test throughput .

But I saw the result was not well in rtps discovery mode .

When I use rtps discovery mode to publish sequence in 8192 payload size , I get 26 Mbps.
When I use DCPSInfoRepo discovery mode to publish sequence in 8192 payload size , I get 500 Mbps .

Would you help me fix rtps.ini to improve throughput ?
I think the code is fine .
my github repo

OS: Ubuntu 16.04 x86_64 VirtualBox

Thanks

Support: building DCPSInfoRepo

After initial installation, configure and setting enviroment variables by following OpenDDS steps, there isn't a DCPSInfoRepo.exe file in bin folder. Why?

OS Windows 10, VS 2015.

Versioned namespaces with optional features

With versioned namespaces enabled, the following optional features fail to build:

  • java
  • wireshark
  • qt4

For reference, on Ubuntu 16.04 I configured OpenDDS with these additional options:

  • Enable JNI: --java=/usr/lib/jvm/default-java
  • Enable wireshark plugin: --wireshark=/my/path/to/wireshark-1.12.13 --glib --rapidjson
  • Enable monitor GUI and ishapes: --qt --boost

QOS_XML_Handler and ACE XML_Utils dependency

Pull request #422 is now reverted from master. After the OpenDDS 3.10 release, we can drop support for TAO 2.0a which has no XML_Utils. This issue will be our reminder to effectively re-merge #422 after the release.

No MPC base project that only provide the C++ compiler flags and libraries

There is no MPC base project that only provides the C++ compiler flags and libraries without pulling in the automatic IDL_Files rules. Inheriting from dcps gives also the IDL compiler flags which requires the user to specify empty IDL_Files sections in his MPC file at the moment he has a project that only compiles/links with OpenDDS C++ code and there are other IDL files in the directory that are not for OpenDDS

Too many internal headers pulled into user code

When working on the versioned namespace support (issue #316) I noticed that when using OpenDDS a lot of headers are pulled into user code. A lot of coming through the type specific data reader, data writer, and topic. I think it would help our users when we can reduce the amount of headers they pull in when using OpenDDS. I would expect they only need the IDL generated types and stubs and not a lot of the internal headers.

Rework DataReaderImpl::auto_return_loan

Currently ZeroCopyDataSeq::~ZeroCopyDataSeq pulls in the full DataReaderImpl.h just to call auto_return_loan, maybe move this to a seperate class so that the zero sequence implementation doesn't pull in the full datareaderimpl with everything it uses

use rtps.ini runs on two pc

hello,i am newer into dds.
i want to test pub-sub on two indepent windows with rtps.ini like below:

[common]
DCPSGlobalTransportConfig=$file
DCPSDefaultDiscovery=DEFAULT_RTPS

[transport/the_rtps_transport]
transport_type=rtps_udp

but the pub-sub can't find each other.of course,it works(find each other)intra-host,but i want to test inter-host,how can i set the rtps.ini?

thank you very much!

Solaris defines NOSIGNAL

FACE/TS_common.hpp defines NOSIGNAL in enum SEND_FLAG_TYPE, but NOSIGNAL is an already existing define on Solaris 11.3. The enum field should probably be

  • either renamed, or
  • an ifdef/undef NOSIGNAL should be added to the top of FACE/TS_common.hpp

Time-Based Filter QoS

The spec requires a Time-Based Filter reader to eventually see the latest sample per instance. In cases where that latest sample would normally be suppressed by the TBFilter, the current implementation does not eventually deliver that later sample. This isn't an issue for periodic writers.

In terms of implementation, consider reusing much of the code for reader-side Deadline (timer support, etc.) to make the most recent sample available if the writer stops updating the instance.

This issue was originally on the SourceForge tracker, which we are no longer using.

operator<< of CoherentChangeControl only checks good_bit at the end

operator<<(Serializer& serializer, CoherentChangeControl& value) only checks the serializer.good_bit() at the end, wouldn't it be much better to check each insertion independently.

operator>>(Serializer& serializer, CoherentChangeControl& value) could be optimized by just checking the result of each member >>

Modeling SDK no .mwc file

hey guys,

am i doing something wrong or does the OpenDDS Modeling SDK CodeGen function not generate a .mwc file which is needed for building with mwc?

Thanks.

Several tests are running for 30 seconds even when there are no executables compiled

When working on new windows builds I had a build run where nothing was compiled but several tests seem to run 30 seconds because they don't check if the spawn did success.

tests/DCPS/SharedTransport/run_test.pl udp


X:\BUILD\DOC_ROOT\DDS\bin\.\\DCPSInfoRepo.EXE -o repo.ior
ERROR: Cannot Spawn: <X:\BUILD\DOC_ROOT\DDS\bin\.\\DCPSInfoRepo.EXE> not found
ERROR: waiting for Info Repo IOR file

auto_run_tests_finished: tests/DCPS/SharedTransport/run_test.pl udp Time:31s Result:0

A quick parse gives the following tests that need some work

  • tests/DCPS/Prst_delayed_subscriber/run_test.pl
  • tests/DCPS/DCPSInfoRepo/run_test.pl
  • tests/DCPS/FooTest3_0/run_test.pl
  • tests/DCPS/DcpsIntegration/run_test-topic.pl
  • tests/DCPS/FooTest4/run_test.pl
  • tests/DCPS/MultiRepoTest/run_test.pl
  • tests/DCPS/Presentation/run_test.pl
  • tests/DCPS/Reconnect/run_test.pl
  • tests/DCPS/BuiltInTopicTest/prst_repo_run_test.pl
  • tests/transport/simple/run_test.pl bp
  • performance-tests/DCPS/InfoRepo_population/run_test.pl
  • DevGuideExamples/DCPS/Messenger/run_test.pl
  • DevGuideExamples/DCPS/Messenger_ZeroCopy/run_test.pl
  • tests/DCPS/Messenger/run_corbaloc_test.pl
  • tests/DCPS/Messenger/run_ns_test.pl
  • examples/DCPS/Messenger_Imr/run_test.pl
  • tests/DCPS/TransientDurability/run_test.pl
  • tests/DCPS/PersistentDurability/run_test.pl
  • tests/DCPS/StatusCondition/run_test.pl
  • tests/DCPS/QueryCondition/run_test.pl
  • tests/DCPS/ContentFilteredTopic/run_test.pl
  • tests/DCPS/ContentFilteredTopic/run_test.pl nopub
  • tests/DCPS/MultiTopic/run_test.pl
  • tests/DCPS/Federation/run_test.pl
  • tests/DCPS/Priority/run_test.pl
  • tests/DCPS/SharedTransport/run_test.pl
  • tests/DCPS/Ownership/run_test.pl
  • tests/DCPS/GroupPresentation/run_test.pl
  • tests/DCPS/ConfigFile/run_test.pl
  • tests/DCPS/SubscriberCycle/run_test.pl
  • tests/DCPS/PersistentInfoRepo/run_test.pl

OpenDDS tests fail when using MinGW-64

As far our automated testing shows OpenDDS tests fail when using MinGW-64. Created this issue to make people aware of this and work on analyzing this further and provide fixes.

Presentation QoS ordered access with group scope does not work with RTPS

Request:
With Presentation QoS access_scope set to group and ordered_access true the DDS middleware should guarantee that samples from multiple writers that are associated with the same publisher are delivered in the same order as written. This is not implemented for RTPS. Part of the problem is that although this feature is described in the DDS specification the current RTPS specification does not include any standard mechanism to implement this on the wire (similar situation as for coherent_access). Apparently, some commercial vendors have implemented this with an RTPS extension, probably by including a publisher-scoped packet count.

Response:
I'm not sure the publisher-scoped counter is enough. Consider an example where data readers A and B (on different topics) are matched with corresponding writers belonging to the same publisher, using the QoS you have listed. The publishing side writes two samples and the overall order is A1, B1. Sample A1 was lost on the network so reader B sees B1 first. B1's "publisher-scoped" counter is 2. Now the subscribing side needs determine whether or not to deliver B1 to the application. It does not have a way to know if sample 1 was lost or if it came from data writer C, for which the subscriber has no corresponding reader (incompatible QoS or a separate Topic).

One solution to this problem would be to include in the headers of each sample a list of (writer GUID, sequence number) pairs indicating the state of each other data writer belonging to that publisher at the time the sample was written.

This issue was originally on the SourceForge tracker, which we are no longer using.

Add support for versioned namespaces

ACE and TAO have support to put everything into a versioned namespace. Would be useful for IDL2C++11 when at least the IDL generated code can support versioned namespaces.

auto_ptr warnings from QOS_XML_Handler

Now that QOS_XML_Handler is enabled, the amount of extra warnings generated from its use of auto_ptr causes Travis CI builds to exceed the available log output space and fail.

@jwillemsen is there anything simple we can do to fix this? Looks like it is XSC-generated code? In the short term we may need to turn off xerces on Travis CI.

MPC feature 'gendir' doesn't work with OpenDDS

We normally put all generated files into a subdirectory to keep our user code directory clean. As a test I changed the ReadCondition test to have:

project: dcpsexe, dcps_transports_for_test {
  exename = ReadConditionTest
  idlflags += -SS
  TypeSupport_Files {
    gendir = GeneratedCode
    Messenger.idl
  }
}

This gives the command below, see that -o isn't passed to opendds_idl to put all generated files into a subdirectory

mkdir -p GeneratedCode
OpenDDS/bin/opendds_idl -Sa -St Messenger.idl

Generated gen_skip_over functions don't check result of length demarshaling

I was looking at the generated code and noticed that for example 'BooleanSeqTypeSupportImpl.cpp' the function 'void gen_skip_over(Serializer& ser, CORBA::BooleanSeq*)' is generated as below. The demarshaling of length is not checked, this is done in the 'bool operator>>(Serializer& strm, CORBA::BooleanSeq& seq)' function which is just above. At the moment we get incorrect data just skipping length independent of demarshaling succeeded or not looks a risk

void gen_skip_over(Serializer& ser, CORBA::BooleanSeq*)
{
  ACE_UNUSED_ARG(ser);
  ACE_CDR::ULong length;
  ser >> length;
  ser.skip(length, 1);
}

Build Error on Solaris 11

Building OpenDDS 3.8 (or git HEAD) fails on Solaris 11.3 directly after invoking gmake. Error below.

Configure options:
./configure --java=/usr/jdk/instances/jdk1.8.0/

Error:

user@solaris:/opt/OpenDDS-3.8$ gmake
gmake[1]: Entering directory `/opt/OpenDDS-3.8/ACE_wrappers/ace'

GNUmakefile: /opt/OpenDDS-3.8/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w

CC -mt -g -library=Cstd  -DACE_HAS_KSTAT -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -D_POSIX_PTHREAD_SEMANTICS   -I/opt/OpenDDS-3.8/ACE_wrappers -DACE_HAS_SCTP -DACE_HAS_LKSCTP -D__ACE_INLINE__ -I.. -DACE_BUILD_DLL  -c -KPIC -o .shobj/Local_Name_Space.o Local_Name_Space.cpp
"/opt/OpenDDS-3.8/ACE_wrappers/ace/config.h", line 1: Error: Could not open include file "ace/config-solaris.h".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/Assert.h", line 23: Error: ACE_Proper_Export_Flag is not defined.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/Assert.h", line 23: Error: A declaration does not specify a tag or an identifier.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/Assert.h", line 23: Error: Use ";" to terminate declarations.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 48: Error: Expected an expression.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 55: Error: Multiple declaration for ACE_Errno_Guard.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 55: Warning: Implicit int is not supported in C++.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 58: Error: The destructor name must match the class name.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 58: Error: Illegal number of arguments for ~file level().
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 66: Error: operator=(int) must be a member function.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 69: Error: Illegal number of arguments for operator==(int).
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 72: Error: Illegal number of arguments for operator!=(int).
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 74: Error: A declaration was expected instead of "private".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 76: Error: Type name expected instead of "ACE_Errno_Guard".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 76: Error: Multiple declaration for ACE_Errno_Guard.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 76: Warning: Implicit int is not supported in C++.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 77: Error: Type name expected instead of "ACE_Errno_Guard".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 77: Error: Type name expected instead of "ACE_Errno_Guard".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 77: Error: operator=(?&) must be a member function.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.h", line 83: Error: A declaration was expected instead of "}".
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 8: Error: ACE_Errno_Guard is not defined.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 8: Error: Multiple declaration for ACE_Errno_Guard.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 8: Warning: Implicit int is not supported in C++.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 10: Error: Only a constructor can have constructor initializers.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 19: Warning: "ACE_Errno_Guard(int&, int)" is expected to return a value.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 22: Error: ACE_Errno_Guard is not defined.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 22: Error: Multiple declaration for ACE_Errno_Guard.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 22: Warning: Implicit int is not supported in C++.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 23: Error: Only a constructor can have constructor initializers.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 29: Warning: "ACE_Errno_Guard(int&)" is expected to return a value.
"/opt/OpenDDS-3.8/ACE_wrappers/ace/OS_Errno.inl", line 32: Error: ACE_Errno_Guard is not defined.
Compilation aborted, too many Error messages.
gmake[1]: *** [.shobj/Local_Name_Space.o] Fehler 2
gmake[1]: Leaving directory `/opt/OpenDDS-3.8/ACE_wrappers/ace'
gmake: *** [ACE] Fehler 2

iShapes example use C++11 instead of boost?

The current iShapes example requires boost to compile and use. Instead of depending on boost it would to my idea be easier to depend on C++11 and remove the boost dependency completely.

Obscure failures when using multiple domains with the same RTPS transport instance

It is a documented OpenDDS limitation that RTPS transport instances can not be shared by different Domain Participants. This has a non-obvious consequence for applications that communicate with multiple domains. Such applications necessarily use multiple Domain Participants, and if they rely on a default transport configuration in the OpenDDS configuration file (no domain-specific sections) the application will fail in very obscure, difficult to diagnose ways because it violates this limitation. The limitation should ideally be removed, or if not, then at least detected and an explicit error generated.

This issue was originally on the SourceForge tracker, which we are no longer using.

Unit tests don't run when default discovery is set to RTPS

We are using RTPS by default for discovery and we did this through the ace/config.h file as below. We now notice that the OpenDDS unit tests don't run anymore, for example the ReadCondition test fails as below. Would be much easier if a user can set RTPS as default discovery but also that the unit tests work at that moment.

#define DDS_DEFAULT_DISCOVERY_METHOD Discovery::DEFAULT_RTPS

./run_test.pl 
DCPSInfoRepo  -o repo.ior -NOBITS -DCPSPendingTimeout 3 
InfoRepo PID: 6363
(6363|139668423190336) ERROR: DCPSInfoRepo::init: Unable to set the ORB in InfoRepoDiscovery.
Unexpected initialization Error: Unable to set the ORB in InfoRepoDiscovery.                                                                                                                  

lib/libOpenDDS_Dcps.so: undefined reference to `.LASF9925' , while make

Hi

My system is Ubuntu 14.04 x86_64 in a vagrant in Windows7.

I am trying to install OpenDDS 3.9.

And I followed the steps "./configure and make" .

Therefore , I got a lot of error messages like title .
Please check the link of screenshot for detail, http://imgur.com/a/JfKXi

Now I make failed in /DevGuideExamples and /examples .
Always the same messages .

I have tried to ignore them in /OpenDDS-3.9/GUNmakefile.dist , but there were too many things I should ignore .

I also used no_hidden_visibility = 1 in $(ACE_ROOT)/include/makeinclude/platform_macros.GNU.

I think it should be a system problem or environment setting problem ?

And what are the messages meaning ?

Thanks .

Kev

Extend travis configuration with a matrix of configurations

Currently on travis-ci only the default configuration is tested. Using the env matrix support more configurations could be tested which reduces the likelihood of problems on the scoreboard. We do this already for the ACE/TAO travis configuration

Add (read|take)_instance_w_condition

OpenDDS doesn't provide (read|take)_instance_w_condition. These are not yet part of the DDS specification but that seems to be an error, see http://issues.omg.org/browse/DDS15-26.

It seems they where intended to be added but never ended up in the specification, not sure why. Other vendors do provide these operations, the lack in OpenDDS would trigger rework in user code when they want to switch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.