What causes this error: "incompatible shared memory protocol detected."

Note: Applies to RTI Connext 4.x and above.

The following error:

[D0004|CREATE Participant|D0004|ENABLE] NDDS_Transport_Shmem_is_segment_compatible:incompatible shared memory protocol detected. Current version 1.0 not compatible with 2.0.

is caused when two applications, one using RTI Connext DDS 4.5f or later, and one using a previous release of RTI Data Distribution Service, run on the same node and they have the shared memory transport enabled.

A possible workaround for this interoperability issue is to disable the shared memory transport and use local communications over UDPv4 by setting participant_qos.transport_builtin to DDS_TRANSPORTBUILTIN_UDPv4.