########### Linux/macOS ########### The goal of this guide is help you download and compile OpenDDS and run a simple example. **************** Build Directions **************** #. Ensure that your environment has: * a C++ compiler (GCC or Clang) * GNU Make * Perl * Optional Java SDK 1.5 or greater for Java JNI binding support See :ref:`deps` for a complete list of dependencies and :ghfile:`README.md#supported-platforms` for supported platforms. #. Download and extract the latest tar.gz file from the `download site `__ #. Enter the ``OpenDDS-`` directory #. .. code-block:: bash ./configure To enable Java bindings, use .. code-block:: bash ./configure --java #. .. code-block:: bash make See `Support `__ if you encounter problems with configuration or building. ************************* Run the Messenger Example ************************* #. .. code-block:: bash source setenv.sh #. For the C++ example .. code-block:: bash cd DevGuideExamples/DCPS/Messenger For the Java example .. code-block:: bash cd java/tests/messenger #. .. code-block:: bash ./run_test.pl 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. .. important:: The ``setenv.sh`` script sets various environment variables needed for running OpenDDS tests. Be sure to ``source setenv.sh`` if you start a new terminal session. ********** Next Steps ********** See :ref:`getting_started` for a detailed explanation of the Messenger C++ Example or :ref:`java` for the Java Example.