Introduction

The DDS4CCM connector implements the DDS4LwCCM specification. DDS4CCM is part of CIAO and integrates DDS into CCM, which can be easily deployed, using DAnCE. The CIAO DDS4CCM connector implementation supports RTI DDS and OpenDDS as underlying DDS vendors.

Building and Installing DDS4CCM

Before compiling CIAO and DAnCE, one should first set the correct flags in the default.features and platform_macros.GNU. For compiling and installing CIAO see CIAO-INSTALL.html. DDS4CCM uses DAnCE as deployement tool in all of the examples and tests. Therefor one should also be sure that DAnCE is build and installed in order to run the DDS4CCM examples.

Setting up default.features and platform_macros.GNU

Besided the flags needed to build ACE, TAO, CIAO, and, DAnCE, the following flags should be added for DDS4CCM.

$ACE_ROOT/bin/MakeProjectCreator/config/default.features should contain at least the following flags for RTI DDS:

$ACE_ROOT/bin/MakeProjectCreator/config/default.features should contain at least the following flags for OpenDDS:

$ACE_ROOT/include/makeinclude/platform_macros.GNU should contain at least the following flags for RTI DDS:

$ACE_ROOT/include/makeinclude/platform_macros.GNU should contain at least the following flags for OpenDDS:

To be sure that CIAO, DAnCE and DDS4CCM are build correctly, one might use the $CIAO_ROOT/CIAO_TAO_DAnCE.mwc workspace for RTI DDS.

When using DDS4CCM with OpenDDS we commend you to use the $CIAO_ROOT/CIAO_TAO_DAnCE_OpenDDS.mwc workspace. This workspace will compile all needed parts of ACE, TAO, CIAO, DAnCE, and OpenDDS. OpenDDS has to be compiled before compiling DDS4CCM because we are using several of the OpenDDS libraries and the OpenDDS IDL compiler.


Building and Installing DDS4CCM with OpenDDS on Linux

Building DDS4CCM with OpenDDS integration takes a few manual steps to get the job done. Besides downloading ACE+TAO+CIAO+DAnCE and OpenDDS the build has to be configured. For this integration we need 3 configuration files. For controlling the MPC makefile generation we need to create $ACE_ROOT/bin/MakeProjectCreator/config/default.features. This is needed because each DDS vendor has its own IDL compiler which has to be triggered during the build step. Secondly we need to create $ACE_ROOT/include/makeinclude/platform_macros.GNU to define the settings for GNU make, and as last we create $ACE_ROOT/ace/config.h to control the compiler settings. After initial compilation you can tweak more settings in these 3 files, but we do recommend to do a full rebuild when changing any of these files.

The steps below download ATCD and OpenDDS, create all needed environment variables and configuration files and compiles all core code and the DDS4CCM shapes example. As last step it deploys this example which dumps shapes information to the console.

wget http://download.dre.vanderbilt.edu/ACE+TAO-distribution/ACE+TAO+CIAO-src.tar.bz2
wget http://download.ociweb.com/OpenDDS/OpenDDS-3.4.1.tar.gz
tar xvf ACE+TAO+CIAO-src.tar.bz2
tar xvf OpenDDS-3.4.1.tar.gz
export DOC_ROOT=`pwd`
export ACE_ROOT=$DOC_ROOT/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export CIAO_ROOT=$TAO_ROOT/CIAO
export DANCE_ROOT=$TAO_ROOT/DAnCE
export DDS_ROOT=$DOC_ROOT/DDS
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH
echo -e '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.h
echo -e 'dds4ccm_opendds=1\nxerces3=1\ninclude $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo -e 'dds4ccm_opendds=1\ndds_suppress_anys=0\nxerces3=1\n' > $ACE_ROOT/bin/MakeProjectCreator/config/default.features
cd $CIAO_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 CIAO_TAO_DAnCE_OpenDDS.mwc
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 
cd $CIAO_ROOT && make
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && make
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes/descriptors && perl run_test.pl

Building and Installing DDS4CCM with RTI DDS on Linux

Building DDS4CCM with RTI DDS integration takes a few manual steps to get the job done. Besides downloading ACE+TAO+CIAO+DAnCE and RTI DDS the build has to be configured. For this integration we need 3 configuration files. For controlling the MPC makefile generation we need to create $ACE_ROOT/bin/MakeProjectCreator/config/default.features. This is needed because each DDS vendor has its own IDL compiler which has to be triggered during the build step. Secondly we need to create $ACE_ROOT/include/makeinclude/platform_macros.GNU to define the settings for GNU make, and as last we create $ACE_ROOT/ace/config.h to control the compiler settings. After initial compilation you can tweak more settings in these 3 files, but we do recommend to do a full rebuild when changing any of these files.

The steps below assume that RTI DDS has been obtained from RTI including their CORBA Compatibility Kit (CCK). The environment variables NDDSHOME and NDDSARCHITECTURE must be defined accordingly the RTI documentation.

The steps below download ATCD, create all needed ATCD environment variables and configuration files and compiles all core code and the DDS4CCM shapes example. As last step it deploys this example which dumps shapes information to the console.

wget http://download.dre.vanderbilt.edu/ACE+TAO-distribution/ACE+TAO+CIAO-src.tar.bz2
tar xvf ACE+TAO+CIAO-src.tar.bz2
export DOC_ROOT=`pwd`
export ACE_ROOT=$DOC_ROOT/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export CIAO_ROOT=$TAO_ROOT/CIAO
export DANCE_ROOT=$TAO_ROOT/DAnCE
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH
echo -e '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.h
echo -e 'dds4ccm_ndds=1\nndds=1\nxerces3=1\ninclude $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > $ACE_ROOT/include/makeinclude/platform_macros.GNU
echo -e 'dds4ccm_ndds=1\nndds=1\nxerces3=1\n' > $ACE_ROOT/bin/MakeProjectCreator/config/default.features
cd $CIAO_ROOT && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 CIAO_TAO_DAnCE.mwc
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && $ACE_ROOT/bin/mwc.pl -type gnuace -workers 4 
cd $CIAO_ROOT && make
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes && make
cd $CIAO_ROOT/connectors/dds4ccm/examples/Shapes/descriptors && perl run_test.pl

Supported Platforms for DDS4CCM

DDS4CCM is daily compiled and tested on Linux with RTI DDS and OpenDDS. It does compile on Windows with Microsoft Visual Studio 10 but we have not validated all tests.


Back to the CIAO install page