Installation

In this section, instructions are provided to install the following packages:

The user can decide wether to install the Agent and Client as stand-alone packages, or together. If the first approach is chosen, refer to the Release Notes section in order to match versions that are compatible.

Using pre-installed docker images

Download here the Micro XRCE-DDS docker image that contains a pre-installed client and agent as well as some compiled examples.

Installing the Agent standalone

Clone the project from GitHub:

$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
$ cd Micro-XRCE-DDS-Agent
$ mkdir build && cd build

On Linux, inside of the build folder, execute the following commands:

$ cmake ..
$ make
$ sudo make install

On Windows first select the Visual Studio version:

$ cmake -G "Visual Studio 14 2015 Win64" ..
$ cmake --build .
$ cmake --build . --target install

Note

The eProsima Micro XRCE-DDS Agent can be configured at compile-time via several CMake definitions. Find them listed in the Configuration section of the eProsima Micro XRCE-DDS Agent page.

Now the the executable eProsima Micro XRCE-DDS Agent is installed in the system. Before running it, add /usr/local/lib to the dynamic loader-linker directories.

sudo ldconfig /usr/local/lib/

Important

The eProsima Micro XRCE-DDS Agent executable comes with a rich CLI. Find out all the options offered by this CLI when running the Agent in the Agent CLI section of the eProsima Micro XRCE-DDS Agent page.

Installation from Snap package

The eProsima Micro XRCE-DDS Agent can also be installed as a Snap package..

To this aim, simply execute sudo snap install micro-xrce-dds-agent in the console. This will download the Snap package corresponding to the stable version, that is, the master branch on GitHub.

For downloading the Snap image corresponding to the develop branch, add the --edge flag to the installation command.

Note

The Snap package is only available for Linux.

Using the provided Docker image

The eProsima Micro XRCE-DDS Agent can also be launched directly from its dedicated Docker image..

Pull the image by executing docker pull eprosima/micro-xrce-dds-agent:<tag> <<args>>, with tag being one of the following options:

The accepted arguments for <<args>> are exactly the same which are listed in the Agent CLI section.

Installing the Client standalone

Clone the project from GitHub:

$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Client.git
$ cd Micro-XRCE-DDS-Client
$ mkdir build && cd build

On Linux, inside of build folder, execute the following commands:

$ cmake ..
$ make
$ sudo make install

Now the the executable eProsima Micro XRCE-DDS Client is installed in the system. Before running it, add /usr/local/lib to the dynamic loader-linker directories.

sudo ldconfig /usr/local/lib/

On Windows first select the Visual Studio version:

$ cmake -G "Visual Studio 14 2015 Win64" ..
$ cmake --build .
$ cmake --build . --target install

Note

In order to install the eProsima Micro XRCE-DDS Client examples, add -DUCLIENT_BUILD_EXAMPLES=ON to the cmake .. command-line options. This flag will enable the compilation of the examples. In addition to this flag, there are several other CMake definitions for configuring the building of the client library at compile-time. Find them in the Profiles and configurations sections of the eProsima Micro XRCE-DDS Client page.

For building a Client app in the host machine, compile against the following libs:

gcc <main.c> -lmicrocdr -lmicroxrcedds_client

Using the provided Docker image

The eProsima Micro XRCE-DDS Client comes with a Docker image where the library is installed together with the provided examples, so they can easily be executed by the users.

Pull the image by executing docker pull eprosima/micro-xrce-dds-client:<tag> <<args>>, with tag being one of the following options:

The accepted arguments for <<args>> are the examples’ executable names, followed by the arguments required for each example to work. Find a list of all the available examples here. Note that they may differ between master and develop branches and the tagged versions.

Installing the Micro XRCE-DDS Gen tool

Clone the project from GitHub:

$ sudo apt install git openjdk-8-jdk gradle
$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Gen.git
$ cd Micro-XRCE-DDS-Gen
$ git submodule init
$ git submodule update
$ gradle build -Dbranch=v1.2.5

The Micro XRCE-DDS-Gen tool will be available as:

$ ./scripts/microxrceddsgen -help

Installing Agent and Client

Clone the project from GitHub:

$ git clone https://github.com/eProsima/Micro-XRCE-DDS.git
$ cd Micro-XRCE-DDS
$ mkdir build && cd build

On Linux, inside of the build folder, execute the following commands:

$ cmake ..
$ make
$ sudo make install

On Windows choose the Visual Studio version using the CMake option -G, for example:

$ cmake -G "Visual Studio 14 2015 Win64" ..
$ cmake --build . --target install

Now both the eProsima Micro XRCE-DDS Agent and the eProsima Micro XRCE-DDS Client are installed in the system.

Note

In order to install the eProsima Micro XRCE-DDS Gen tool as well, add -DUXRCE_ENABLE_GEN=ON to the cmake .. command-line options. This flag will enable the downloading and compilation of the code generating tool.

Note

In order to install the eProsima Micro XRCE-DDS examples, add -DUXRCE_BUILD_EXAMPLES=ON to the cmake .. command-line options. This flag will enable the compilation of the examples.

Using the provided Docker image

eProsima Micro XRCE-DDS is also available as a whole package in a Docker image.

Within this Docker image, the Micro XRCE-DDS Agent standalone application and library are installed, as well as the Micro XRCE-DDS Client library and built-in examples.

Pull the image by executing docker pull eprosima/micro-xrce-dds:<tag> <<args>>, with tag being one of the following options:

The accepted arguments for <<args>> are:

  • To launch the Micro XRCE-DDS Agent: MicroXRCEAgent <<agent_args, being <<agent_args>> the ones described in the Agent CLI section.

  • The Micro XRCE-DDS Client examples’ executable names, as explained above.