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 on Linux

DDS4CCM is used frequently on linux. Before building DDS4CCM make sure that perl, make, gcc-g++, and libxerces-c-devel are installed as packages.

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.5.tar.gz
tar xvf ACE+TAO+CIAO-src.tar.bz2
tar xvf OpenDDS-3.5.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

Building and Installing DDS4CCM with RTI DDS on Windows

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 2 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/ace/config.h to control the compiler settings. After initial compilation you can tweak more settings in these 2 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. Make sure that when you have a path with spaces in it you don't use double quotes around the path when setting the environment variable.

These instructions assume that you have cygwin installed including wget and unzip and that these utilities are in your path. For perl we advice to use ActiveState perl. You also need to obtain and install xerces3, the XERCESCROOT environment variable should point to the location of your xerces3 tree.

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. Run the commands from a Visual Studio command prompt. In the steps where devenv is used, the IDE will start and you can use the IDE to compile the project. Compiling the code will take some time, we can recommend Incredibuild to speed up compilation using distribution compilation. When the full solution has compiled, close the IDE and perform the next step.

\cygwin\bin\wget http://download.dre.vanderbilt.edu/ACE+TAO-distribution/ACE+TAO+CIAO-src.zip
\cygwin\bin\unzip ACE+TAO+CIAO-src.zip
set DOC_ROOT=%CD%
set ACE_ROOT=%DOC_ROOT%\ACE_wrappers
set TAO_ROOT=%ACE_ROOT%\TAO
set CIAO_ROOT=%TAO_ROOT%\CIAO
set DANCE_ROOT=%TAO_ROOT%\DAnCE
set PATH=%ACE_ROOT%\lib;%XERCESCROOT%\bin;%NDDSHOME%\lib\%NDDSARCHITECTURE%;%PATH%
echo #include "ace/config-win32.h" > %ACE_ROOT%/ace/config.h
echo dds4ccm_ndds=1 > %ACE_ROOT%/bin/MakeProjectCreator/config/default.features
echo ndds=1 > %ACE_ROOT%/bin/MakeProjectCreator/config/default.features
echo xerces3=1 > %ACE_ROOT%/bin/MakeProjectCreator/config/default.features

Building and Installing DDS4CCM on Windows using Visual Studio 2010

When you want to compile now using Visual Studio 2010 you can use the following steps
cd %CIAO_ROOT% && perl %ACE_ROOT%\bin\mwc.pl -type vc10 -workers 4 CIAO_TAO_DAnCE.mwc
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes && perl %ACE_ROOT%\bin\mwc.pl -type vc10 -workers 4
cd %CIAO_ROOT% && devenv CIAO_TAO_DAnCE.sln
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes && devenv Shapes.sln
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes\descriptors && perl run_test.pl

Building and Installing DDS4CCM on Windows using nmake

When using nmake you can use the following steps. At the moment you want to compile for Windows x86_64, add -value_template platforms=x64 to the mwc.pl commands below.
cd %CIAO_ROOT% && perl %ACE_ROOT%\bin\mwc.pl -type nmake -workers 4 CIAO_TAO_DAnCE.mwc
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes && perl %ACE_ROOT%\bin\mwc.pl -type nmake -workers 4
cd %CIAO_ROOT% && nmake
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes && nmake
cd %CIAO_ROOT%\connectors\dds4ccm\examples\Shapes\descriptors && perl run_test.pl

Additionally Building and Installing DDS4CCM

If you already have a configuration of CIAO, the instruction below explain which additional settings are needed in order to compile DDS4CCM.For compiling DDS4CCM the correct flags need to be in the default.features and platform_macros.GNU files.. 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.


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