Ensure that your host environment has:
- a C++ compiler
- GNU Make
- Optional Java SDK 1.5 through 1.8 for Java JNI binding support
See Building for a complete list of dependencies and supported platforms.
- Download and extract the latest tar.gz file from the download site.
- Download and extract the Raspberry Pi toolchain from GitHub. Copy or note the absolute path of it, because we need to pass that to OpenDDS's build system.
- Enter the OpenDDS-<version> directory
Run the following as a single command, replacing <PITOOLS> with the absolute path of the toolchain:
./configure --target=linux-cross\ --target-compiler="<PITOOLS>/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++"
If you want to use OpenDDS's Java bindings and examples, add
--javato the end of this command.
- If you have a 32-bit system, remove the "-x64" part of the command. This shouldn't be necessary though, unless you are running an older system.
- If you want to use OpenDDS's Java bindings and examples, add
For this guide you need a Raspberry Pi set up with Raspbian Linux and connected to a local network. You will also need a Linux host system connected to the same network where we will build OpenDDS. This guide also assumes you know the address and user credentials of the Pi. Perform these all these steps on the host computer:
See Support if you encounter problems with configuration or building.
There are multiple ways to do this, including using a flash drive. This method uses the network.
- Leave the OpenDDS-<version> directory:
tar czf OpenDDS.tar.gz OpenDDS-<version>
scp OpenDDS.tar.gz USER@ADDRESS:where USER and ADDRESS are the username and IP address of your Raspberry Pi. It will ask you for the password for the user on the Pi.
ssh USER@ADDRESSto access the Pi, taking the same information as the previous command.
tar xzf OpenDDS.tar.gz
- While still in ssh on the Pi, enter the OpenDDS-<version> directory
cd $DDS_ROOT/DevGuideExamples/DCPS/Messengerfor C++ example or
cd $DDS_ROOT/java/tests/messengerfor Java example
The Messenger Example starts an InfoRepo, publisher, and subscriber. The InfoRepo allows the publisher and subscriber to find each other. Once the publisher finds the subscriber, it sends 10 messages to the subscriber and waits 30 seconds for the subscriber to acknowledge the messages.